From e5e6232c81c03323abf34078166a1e64080edea6 Mon Sep 17 00:00:00 2001 From: Pedro Gaspar Date: Sat, 17 Aug 2019 20:48:08 +0100 Subject: [PATCH 1/2] resistor-color-duo: Update exercise to 2.1.0 --- .../.meta/solutions/resistor_color_duo.rb | 1 + exercises/resistor-color-duo/README.md | 10 ++++++++-- .../resistor-color-duo/resistor_color_duo_test.rb | 7 ++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/exercises/resistor-color-duo/.meta/solutions/resistor_color_duo.rb b/exercises/resistor-color-duo/.meta/solutions/resistor_color_duo.rb index 674b310699..d80a140aea 100644 --- a/exercises/resistor-color-duo/.meta/solutions/resistor_color_duo.rb +++ b/exercises/resistor-color-duo/.meta/solutions/resistor_color_duo.rb @@ -14,6 +14,7 @@ module ResistorColorDuo def self.value(color_bands) color_bands + .first(2) .map { |color| COLORS.index(color) } .join .to_i diff --git a/exercises/resistor-color-duo/README.md b/exercises/resistor-color-duo/README.md index 0c778d7cec..e37c7bb291 100644 --- a/exercises/resistor-color-duo/README.md +++ b/exercises/resistor-color-duo/README.md @@ -4,9 +4,10 @@ If you want to build something using a Raspberry Pi, you'll probably use _resist * Each resistor has a resistance value. * Resistors are small - so small in fact that if you printed the resistance value on them, it would be hard to read. -To get around this problem, manufacturers print color-coded bands onto the resistors to denote their resistance values. Each band acts as a digit of a number. For example, if they printed a brown band (value 1) followed by a green band (value 5), it would translate to the number 15. +To get around this problem, manufacturers print color-coded bands onto the resistors to denote their resistance values. Each band has a position and a numeric value. For example, if they printed a brown band (value 1) followed by a green band (value 5), it would translate to the number 15. + +In this exercise you are going to create a helpful program so that you don't have to remember the values of the bands. The program will take color names as input and output a two digit number, even if the input is more than two colors! -In this exercise, you are going to create a helpful program so that you don't have to remember the values of the bands. The program will take two colors as input, and output the correct number. The band colors are encoded as follows: @@ -21,6 +22,11 @@ The band colors are encoded as follows: - Grey: 8 - White: 9 +From the example above: +brown-green should return 15 +brown-green-violet should return 15 too, ignoring the third color. + + * * * * For installation and learning resources, refer to the diff --git a/exercises/resistor-color-duo/resistor_color_duo_test.rb b/exercises/resistor-color-duo/resistor_color_duo_test.rb index ad338e9162..32832d657e 100644 --- a/exercises/resistor-color-duo/resistor_color_duo_test.rb +++ b/exercises/resistor-color-duo/resistor_color_duo_test.rb @@ -1,7 +1,7 @@ require 'minitest/autorun' require_relative 'resistor_color_duo' -# Common test data version: 2.0.0 8b44ce1 +# Common test data version: 2.1.0 00dda3a class ResistorColorDuoTest < Minitest::Test def test_brown_and_black # skip @@ -22,4 +22,9 @@ def test_orange_and_orange skip assert_equal 33, ResistorColorDuo.value(["orange", "orange"]) end + + def test_ignore_additional_colors + skip + assert_equal 51, ResistorColorDuo.value(["green", "brown", "orange"]) + end end From 124ea48e30e4d6f495b396892ae65254319991d4 Mon Sep 17 00:00:00 2001 From: Pedro Gaspar Date: Sat, 17 Aug 2019 22:54:59 +0100 Subject: [PATCH 2/2] Regenerate README using trackanatomy's --- exercises/resistor-color-duo/README.md | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/exercises/resistor-color-duo/README.md b/exercises/resistor-color-duo/README.md index e37c7bb291..054597c9a0 100644 --- a/exercises/resistor-color-duo/README.md +++ b/exercises/resistor-color-duo/README.md @@ -8,19 +8,8 @@ To get around this problem, manufacturers print color-coded bands onto the resis In this exercise you are going to create a helpful program so that you don't have to remember the values of the bands. The program will take color names as input and output a two digit number, even if the input is more than two colors! - -The band colors are encoded as follows: - -- Black: 0 -- Brown: 1 -- Red: 2 -- Orange: 3 -- Yellow: 4 -- Green: 5 -- Blue: 6 -- Violet: 7 -- Grey: 8 -- White: 9 +The colors are mapped to the numbers from 0 to 9 in the sequence: +Black - Brown - Red - Orange - Yellow - Green - Blue - Violet - Grey - White From the example above: brown-green should return 15