Calculadora de cadenas
Una calculadora de cadenas simple que utiliza TDD Kata
Objetivo
Aprenda a utilizar Test Driven Development para crear un programa.
Descripción
Este kata fue creado por Roy Osherove y está diseñado para ayudarle a aprender codificación y refactorización TDD.
Trate de no adelantarse a la lectura; realice una tarea a la vez. Trabaja de forma incremental.
Pasos de Kata
- Cree una calculadora de cadenas con un método int Add(números de cadena)
- El método puede tomar 0, 1 o 2 números y devolverá su suma.
- Una cadena vacía devolverá 0.
- Entradas de ejemplo:
“”, “1”, or “1,2”
- Comience con el caso de prueba más simple de una cadena vacía. Luego 1 número. Luego 2 números.
- Recuerde resolver las cosas de la manera más simple posible, obligándose a escribir pruebas para cosas en las que no pensó.
- Recuerde refactorizar después de cada prueba aprobada.
- Permita que el método Add maneje una cantidad desconocida de argumentos/números.
- Permita que el método Agregar maneje nuevas líneas entre números (en lugar de comas).
- Ejemplo:
“1n2,3”
debería devolver 6. - Ejemplo:
“1,n”
no es válido, pero no necesita una prueba para este caso. - Pruebe únicamente las entradas correctas; no hay necesidad de lidiar con entradas no válidas para este kata.
- Llamar a Agregar con un número negativo generará una excepción "Negativos no permitidos:" enumerando todos los números negativos que estaban en la lista de números.
- El ejemplo
“-1,2”
arroja “No se permiten negativos: -1” - Ejemplo
“2,-4,3,-5”
arroja “No se permiten negativos: -4,-5”
- Se deben ignorar los números mayores que 1000.
- Ejemplo:
“1001,2”
devuelve 2
- Permita que el método Add maneje un delimitador diferente:
- Para cambiar el delimitador, el comienzo de la cadena contendrá una línea separada similar a esta:
“//[delimiter]n[numbers]”
- Ejemplo:
“//;n1;2”
debería devolver 3 (el delimitador es ;) - Esta primera línea es opcional; Todos los escenarios existentes (usando , o n) deberían funcionar como antes.