#String Calculator
##Notes:
- Do one task at a time.
- Work incrementally.
- There is no need to test for invalid inputs.
##Tasks:
- Create a simple String calculator with a method
int Add(string numbers)
- The method can take 0, 1 or 2 numbers, and will return their sum (for an empty string it will return 0) for example
""
or"1"
or"1,2"
- Start with the simplest test case of an empty string and move to one and two numbers
- Remember to solve things as simply as possible so that you force yourself to write tests you did not think about
- Remember to refactor after each passing test for legible, clean code.
-
Allow the
Add
method to handle an unknown amount of numbers. -
Allow the
Add
method to handle new lines between numbers (instead of commas).
- For example, the following input is ok:
"1\n2,3"
(will equal 6)
- Support the user provided delimiters.
- To change a delimiter, the beginning of the string will contain a separate line that looks like this:
"//[delimiter]\n[numbers…]"
for example"//;\n1;2"
should return 3 where the default delimiter is‘;’
. - The first line is optional. All existing scenarios should still be supported
-
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. -
Numbers bigger than 1000 should be ignored
- For example,
"2,1001"
should return 2.
-
Delimiters can be of any length with the following format:
"//[delimiter]\n"
for example:"//[***]\n1***2***3"
should return 6 -
Allow multiple delimiters like this:
"//[delim1][delim2]\n"
for example"//[*][%]\n1*2%3"
should return 6. -
Allow multiple delimiters with length longer than one char