estoy haciendo test de una función que me devuelve una Lista con un contenido, yo manualmente en el test introduzco los valores que espero recibir y el contenido es exactamente igual, pero si hago un assertTrue o Assert.assertEquals me devuelve un error diciendo que no son iguales.
Mi test esta hecho de esta forma:
@Test
public void transformarRespuestaValidaTest(){
String respuesta = "OK||CUPON_INFO|1|TIPO_PRO|";
List<CuponInformativoVariableType> cupones_validos = new LinkedList<CuponInformativoVariableType>();
CuponInformativoVariableType cupon_valido = new CuponInformativoVariableType();
List<CuponInformativoVariableType> cupones = null;
cupon_valido.setCuponInformativo("CUPON_INFO");
cupon_valido.setExclusividad(true);
cupon_valido.setTipoPromocion("TIPO_PRO");
cupones_validos.add(cupon_valido);
try {
cupones = ListaPromocionesUtil.transformarRespuesta(respuesta);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("\nCUPON INFORMATIVO");
System.out.println(cupones_validos.get(0).getCuponInformativo());
System.out.println(cupones.get(0).getCuponInformativo());
System.out.println("\nPROMOCION");
System.out.println(cupones_validos.get(0).getTipoPromocion());
System.out.println(cupones.get(0).getTipoPromocion());
System.out.println("\nEXCLUSIVIDAD");
System.out.println(cupones_validos.get(0).isExclusividad());
System.out.println(cupones.get(0).isExclusividad());
assertTrue(cupones_validos.equals(cupones));
}
Y la función a probar es esta:
public static List<CuponInformativoVariableType> transformarRespuesta(String respuesta) throws Exception {
List<CuponInformativoVariableType> cupones = new LinkedList<CuponInformativoVariableType>();
respuesta = respuesta.trim();
String[] splitted = respuesta.split(PIPE);
// comprobamos que no haya error
if (!splitted[0].equals("OK")) {
return null;
}
// i=0 es OK, i=1 esta vacio, comenzamos en i=2
for (int i = 2; i < splitted.length; i++) {
try {
CuponInformativoVariableType cupon = new CuponInformativoVariableType();
cupon.setCuponInformativo(splitted[i]);
i++;
cupon.setExclusividad("1".equals(splitted[i]));
i++;
cupon.setTipoPromocion(splitted[i]);
cupones.add(cupon);
} catch (Exception ex) {
LogWarning("Error en transformarRespuesta", ex);
}
}
return cupones;
}
Si esto lo muestro por consola me devuelve esto que es lo que quiero:
CUPON INFORMATIVO CUPON_INFO CUPON_INFO
PROMOCION TIPO_PRO TIPO_PRO
EXCLUSIVIDAD true true
Pero claro, aun teniendo la información que me esperaba recibir me dice que es erronea y esto es lo que me dice que vale cada lista.
cupones_validos : [promociones.CuponInformativoVariableType@59494225]
cupones : [promociones.CuponInformativoVariableType@eec5a4a]
No entiendo el porque me dice que no son iguales y el contenido es igual... No puedo avanzar con el test.