From ffd9f0f638b114497efc2166d108dfa1bcbca4cd Mon Sep 17 00:00:00 2001 From: Glenn Jackman Date: Sat, 17 Aug 2019 10:04:36 -0400 Subject: [PATCH] Resistor-color-duo: add test with 3 colors, and third color is ignored. Based on problem-specifications pull request 1569 https://github.com/exercism/problem-specifications/pull/1569 --- exercises/resistor-color-duo/.meta/version | 2 +- exercises/resistor-color-duo/example.sh | 5 +++-- exercises/resistor-color-duo/resistor_color_duo_test.sh | 9 ++++++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/exercises/resistor-color-duo/.meta/version b/exercises/resistor-color-duo/.meta/version index 227cea21..7ec1d6db 100644 --- a/exercises/resistor-color-duo/.meta/version +++ b/exercises/resistor-color-duo/.meta/version @@ -1 +1 @@ -2.0.0 +2.1.0 diff --git a/exercises/resistor-color-duo/example.sh b/exercises/resistor-color-duo/example.sh index 93693673..10862ca9 100644 --- a/exercises/resistor-color-duo/example.sh +++ b/exercises/resistor-color-duo/example.sh @@ -18,13 +18,14 @@ code() { if [[ -n $code ]]; then echo "$code" else - echo "invalid color" >&2 + echo "invalid color: $1" >&2 return 1 fi } +# silently ignore extra colors result="" -for color; do +for color in "$1" "$2"; do if code=$(code "$color"); then result+="$code" else diff --git a/exercises/resistor-color-duo/resistor_color_duo_test.sh b/exercises/resistor-color-duo/resistor_color_duo_test.sh index 1f8823aa..86d7d81d 100644 --- a/exercises/resistor-color-duo/resistor_color_duo_test.sh +++ b/exercises/resistor-color-duo/resistor_color_duo_test.sh @@ -32,5 +32,12 @@ [[ $BATS_RUN_SKIPPED == true ]] || skip run bash resistor_color_duo.sh foo [[ $status -eq 1 ]] - [[ $output == "invalid color" ]] + [[ $output == *"invalid color"* ]] +} + +@test "ignore too many colors" { + [[ $BATS_RUN_SKIPPED == true ]] || skip + run bash resistor_color_duo.sh green brown orange + [[ $status -eq 0 ]] + [[ $output == "51" ]] }