No, me he explicado mal respecto al segundo punto (el primero pensé que sería poco elegante hacerlo así, pero no tengo criterio en absoluto soy muy nuevo en esto).
En el segundo caso, tengo una clase Restaurante (es mejor verlo como una reserva), que tiene atributos, uno de ellos es menu, que es un arraylist que a través del setMenu le voy pasando strings llamados "plato". Plato no es una clase, es cada uno de los strings que tiene el ArrayList. El ArrayList menu puede contener entre 0, y N veces plato. Según a través del setMenu cuantas veces lo hayamos ido cargando.
Pero llegado a practicar con Junit, intento hacer algo como
Código PHP:
assertEquals("[Pizza]", miRestaurante.getMenu());
Si hubiese cargado varias veces plato, haria p.ej
Código PHP:
assertEquals("[Pizza, Macarrones, Chuleta]", miRestaurante.getMenu());
por que es lo que esperaría recibir :)
En mi caso de ¿control?, he instanciado mi objeto Restaurante y le he pasado como variable plato por el SetMenu Pizza, y he hecho un add al ArrayList, por lo que getMenu me devuelve [Pizza], que lo quiero comparar con "[Pizza]", pero me dice que
java.lang.AssertionError: expected: java.lang.String<[Pizza]> but was: java.util.ArrayList<[Pizza]>
Claro, es un problema de tipos, estoy comparando String "[Pizza]" con un elemento pizza (las [] las pone solas) del ArrayList. :( No se si habrá otra resolución mejor, pero lo he solucionado con el mismo sistema del toString :) Muchas gracias.