programmingkatas
DESCRIPTION
Programming Kata is a practice to improve your programming skills through something called "deep practice"TRANSCRIPT
programming
Katas
“IfI would
have had
time...”
“You will never
have time!
”
you canbe faster
Practicemakes YOU
better...
deepPractice
makes YOU...
perfect
Should be
challenging
the kaizenway
Should be
REpeatedmany times
Should receive
feedback(be the best,
be the worst)
perfect
Stringcalculator
Kata
Original kata by Roy Osherove from http://osherove.com/tdd-kata-1
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
2. Allow the Add method to handle new lines between numbers (instead of commas).• for “1\n2,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
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;2\n3;1” it will return 7
Original kata by Roy Osherove from http://osherove.com/tdd-kata-1
4. Delimiters can be of any length with the following format “//[delimiter]\n”.• for “//***\n1***2***3\n2***2” it will return 10
Original kata by Roy Osherove from http://osherove.com/tdd-kata-1
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
MOREKatas
onhttp://katas.softwarecraftsmanship.org/
Questions?