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