-
Preparando el Dojo
-
User story
- Como desarrollador deseo una calculadora que
pueda sumar expresiones pasadas como cadena
-
La calculadora
-
tiene un método
- int sumar(String cadena)
- "" retorna 0
- "1" retorna 1
- "1,2" retorna 3
- "1,2,3" retorna 6
- "1,2\n3" retorna 6
-
Creamos el proyecto
-
Maven
- New Maven Project
- maven-archetype-quickstart
- Configurar source a JDK 1.5+
- Configurar dependencia JUnit 4.8.1
-
Eclipse
- New Java Project
-
Add Library
- JUnit 4.8.1
-
Desarrollamos con TDD
-
Simple Design
- DTSTTCPW
- KISS
- YAGNI
-
Pair Programming
- Cambiamos de roles en cada test
-
Test First Development
- creo la clase CalculadoraTest
-
Refactoring
- Intentamos refactorizar en cada test
- Rojo - Verde - Refactor
-
Tests
-
debeRetornarCeroConCadenaVacia
- Assert.assertEquals(0, Calculadora.sumar(""));
- creo la clase Calculadora
- creo el método int sumar(String cadena)
-
debeRetornarNumeroConNumero
- Assert.assertEquals(1, Calculadora.sumar("1"));
- Usar Integer.parseInt(String cadena)
-
debeRetornarSumaConDosNumerosSeparadosPorComas
- Assert.assertEquals(3, Calculadora.sumar("1,2"));
- Usar indexOf(',')
- Usar String.split(",")
- Refactorizar Integer.parseInt
-
debeRetornarSumaConNumerosMultiples
- Assert.assertEquals(6, Calculadora.sumar("1,2,3"));
- Refactorizamos Introduce Method
-
debeAceptarNuevaLineaComoDelimitador
- Assert.assertEquals(6, Calculadora.sumar("1,2\n3"));
- Modificamos el argumento del split
-
Referencias
- http://osherove.com/tdd-kata-1/
-
Acerca de
- Topic
- Topic