diff --git a/exercises/practice/resistor-color-trio/.docs/instructions.append.md b/exercises/practice/resistor-color-trio/.docs/instructions.append.md new file mode 100644 index 00000000..de70a112 --- /dev/null +++ b/exercises/practice/resistor-color-trio/.docs/instructions.append.md @@ -0,0 +1,5 @@ +# Instructions append + +An input of `"orange", "orange", "green"` should return: + +> "3.3 megaohms" diff --git a/exercises/practice/resistor-color-trio/.meta/example.el b/exercises/practice/resistor-color-trio/.meta/example.el index c2011b1a..8c3eff3b 100644 --- a/exercises/practice/resistor-color-trio/.meta/example.el +++ b/exercises/practice/resistor-color-trio/.meta/example.el @@ -25,15 +25,16 @@ (value (+ (* (cdr (assoc color-1 band-values)) 10) (cdr (assoc color-2 band-values)))) (resistance (* value (expt 10 (cdr (assoc color-3 band-values)))))) - (cond - ((< resistance 1000) - (format "%d ohms" resistance)) - ((< resistance 1000000) - (format "%d kiloohms" (/ resistance 1000))) - ((< resistance 1000000000) - (format "%d megaohms" (/ resistance 1000000))) - (t - (format "%d gigaohms" (/ resistance 1000000000)))))) + (string-replace ".0" "" + (cond + ((< resistance 1000) + (format "%d ohms" resistance)) + ((< resistance 1000000) + (format "%.1f kiloohms" (/ resistance 1000.0))) + ((< resistance 1000000000) + (format "%.1f megaohms" (/ resistance 1000000.0))) + (t + (format "%.1f gigaohms" (/ resistance 1000000000.0))))))) (provide 'resistor-color-trio) diff --git a/exercises/practice/resistor-color-trio/resistor-color-trio-test.el b/exercises/practice/resistor-color-trio/resistor-color-trio-test.el index 3b0838dc..6a6e3e0d 100644 --- a/exercises/practice/resistor-color-trio/resistor-color-trio-test.el +++ b/exercises/practice/resistor-color-trio/resistor-color-trio-test.el @@ -49,5 +49,21 @@ (should (string= (label '("blue" "green" "yellow" "orange")) "650 kiloohms"))) +(ert-deftest orange-and-orange-and-red () + (should (string= (label '("orange" "orange" "red")) + "3.3 kiloohms"))) + +(ert-deftest orange-and-orange-and-green () + (should (string= (label '("orange" "orange" "green")) + "3.3 megaohms"))) + +(ert-deftest white-and-white-and-violet () + (should (string= (label '("white" "white" "violet")) + "990 megaohms"))) + +(ert-deftest white-and-white-and-grey () + (should (string= (label '("white" "white" "grey")) + "9.9 gigaohms"))) + (provide 'resistor-color-trio-test) ;;; resistor-color-trio-test.el ends here