Строковый калькулятор
Простой строковый калькулятор с использованием TDD Kata
Цель
Научитесь использовать разработку через тестирование для создания программы.
Описание
Этот ката был создан Роем Ошеровым и призван помочь вам изучить кодирование и рефакторинг TDD.
Старайтесь не читать вперед – выполняйте одно задание за раз. Работайте постепенно.
Ката шаги
- Создайте строковый калькулятор с помощью метода int Add(числа строк)
- Метод может принимать 0, 1 или 2 числа и возвращать их сумму.
- Пустая строка вернет 0.
- Пример входных данных:
“”, “1”, or “1,2”
- Начните с простейшего тестового примера пустой строки. Потом 1 номер. Потом 2 числа.
- Не забывайте решать задачи как можно проще, заставляя себя писать тесты для вещей, о которых вы даже не задумывались.
- Не забывайте проводить рефакторинг после каждого прохождения теста.
- Разрешить методу Add обрабатывать неизвестное количество аргументов/числ.
- Разрешите методу Add обрабатывать новые строки между числами (вместо запятых).
- Пример:
“1n2,3”
должно возвращать 6. - Пример:
“1,n”
недопустимо, но для этого случая проверка не требуется. - Проверяйте только правильные входные данные – для этого ката нет необходимости иметь дело с неверными входными данными.
- Вызов Add с отрицательным числом вызовет исключение «Негативы не разрешены:» со списком всех отрицательных чисел, которые были в списке чисел.
- Пример
“-1,2”
выдает «Отрицательные значения не допускаются: -1» - Пример
“2,-4,3,-5”
выдает «Отрицательные числа не допускаются: -4,-5»
- Числа больше 1000 следует игнорировать.
- Пример:
“1001,2”
возвращает 2.
- Разрешите методу Add обрабатывать другой разделитель:
- Для изменения разделителя в начале строки будет выделена отдельная строка следующего вида:
“//[delimiter]n[numbers]”
- Пример:
“//;n1;2”
должно возвращать 3 (разделитель — ;) - Эта первая строка необязательна; все существующие сценарии (с использованием или n) должны работать как прежде.