Hola,
Tuve el mismo error que el de la consulta anterior, revisando mi código me di cuenta que estoy haciendo la cuenta igual que el enunciado.
El problema es que el assert que se hace es Assert.assertEquals(precioConEnvioYGarantia,(6000*1.1)+0,DELTA); y el cálculo de precioConEnvioYGarantia me da 6600.0, pero (6000\*1.1)+0 da 6600.000000000001 y con el DELTA dado no da true el assert, en cambio si pongo a mano 6600, en vez de la cuenta (6000*1.1)+0, pasa la prueba. Yo creo que el problema está en que calcular precio devuelve un entero y dentro de la funcion cuando hago neto = neto * 1.1; para devolver un entero lo tengo que hacer un cast a entero y ese decimal se redondea.
También pensé en hacer que el cálculo del precio devuelva un double pero los precios calculados se guardan en variables de tipo entero en el enunciado.
No se me ocurre como resolver el problema ya que estoy haciendo la cuenta de la misma forma que el enunciado y no pasa el assert.
Saludos, Casimiro.
Buenas tardes,
Estoy teniendo el mismo error, a pesar de realizar la cuenta de la forma neto*1.1.Como comentó el compañero anteriormente se soluciona cambiando el DELTA 1e-15 por 1e-12; pero ya mencionaron que no es correcto hacerlo. No sabría como hacer para que el assert pase.
Saludos, Analía.
Buenas,
Estoy con el mismo problema y la unica solucion que encontre son los cambios como sugirio analia puesto que la comparacion entre el entero que devuelve el metodo y el double que resulta de la cuenta tiene decimales corridos que no se contemplan dentro del pequeño margen del DELTA.
Hola a todos,
Efectivamente el error es el que mencionaba Casimiro. El precio no debe ser devuelto como un tipo int.
Ya fue corregido el enunciado.
Saludos,
Tomás