13. Kata
String
calculator
Original kata by Roy Osherove from http://osherove.com/tdd-kata-1
14. 1. Create a simple String calculator with
a method Add(string numbers).
• can take an unknown amount of
numbers separated by a comma, and will
return their sum
• for an empty string it will return 0
• for “1” it will return 1
• for “1,2” it will return 3
• for “5,7,10,3” it will return 25
Original kata by Roy Osherove from http://osherove.com/tdd-kata-1
15. 2. Allow the Add method to handle new
lines between numbers (instead of
commas).
• for “1n2,3” it will return 6
• make sure you only test for correct
inputs. There is no need to test for
invalid inputs for these katas
Original kata by Roy Osherove from http://osherove.com/tdd-kata-1
16. 3. Allow the Add method to handle a
different delimiter.
• the beginning of the string can contain
a separate line that looks like this
“//[delimiter]n[numbers…]”
• for “//;n1;2” it will return 3
• for “//;n1;2n3;1” it will return 7
Original kata by Roy Osherove from http://osherove.com/tdd-kata-1
17. 4. Delimiters can be of any length with
the following format “//[delimiter]n”.
• for “//***n1***2***3n2***2” it will
return 10
Original kata by Roy Osherove from http://osherove.com/tdd-kata-1
18. 5. Calling Add with a negative number
will throw an exception “negatives not
allowed” - and the negative that was
passed.
• if there are multiple negatives, show
all of them in the exception message
Original kata by Roy Osherove from http://osherove.com/tdd-kata-1
19.
20. MORE
Katas
on
http://katas.softwarecraftsmanship.org/