2. Refactorizando con TDD
En este punto vamos a ver como se factoriza el código y se implementa teniendo conocimientos en Programación orientada a objetos.
5 USD + 10 CHF = 10 USD Si la taza de cambio es 2 USD = 1 CHF.
5 USD * 2 = 10 USD.Hacer "amount" privada.
Efectos secundarios en el Objeto dólar.Redondeo de dinero.
equals()
hashCode()
Equal null
Equal object
@Test
public void testMultiplication() {
Dollar five = new Dollar(5);
Dollar product = five.times(2);
assertEquals(new Dollar(10), product);
product = five.times(3);
assertEquals(new Dollar(15), product);
}
Luego como hicimos privado el atributo "amount" debemos corregir el metodo Equals().
@Test
public void testEquality() {
assertEquals(new Dollar(5), new Dollar(5));
assertNotEquals(new Dollar(5), new Dollar(6));
}