Hallo ich habe eine ganz einfache Frage :
Ich habe ein Controller, der Objekte in eine Liste einfügen soll, sofern sie noch nicht vorhanden sind. Hier der Quellcode :
Hier nun mein Test :
Leider schlägt der Test fehlt :
Ich habe ein Controller, der Objekte in eine Liste einfügen soll, sofern sie noch nicht vorhanden sind. Hier der Quellcode :
Java:
@Override
public Association addElement(@NonNull Association element) {
Association tmpElement = null;
Optional<Association> optional = elementList.stream().filter(e -> e.equals(element)).findFirst();
if (optional.isPresent()) {
log.debug("the association '{}' exists already.", element);
tmpElement = optional.get();
} else {
log.debug("add the association '{}'.", element);
tmpElement = element;
elementList.add(tmpElement);
}
log.debug("notify observer about the new association '{}'", tmpElement);
setChanged();
notifyObservers(tmpElement);
}
return tmpElement;
}
Hier nun mein Test :
Java:
// test parameter
private final Association association1 = Mockito.mock(Association.class);
private final Association association2 = Mockito.mock(Association.class);
private final Association association3 = Mockito.mock(Association.class);
@Test
public void testAddElement() {
Mockito.when(association1.getName()).thenReturn("association1");
Mockito.when(association2.getName()).thenReturn("association1");
Mockito.when(association3.getName()).thenReturn("association3");
Controller<Association> controller = new AssociationController();
controller.addElement(association1);
controller.addElement(association2);
controller.addElement(association3);
Assert.assertNotNull(controller.getElementList());
Assert.assertThat("elementList content", Lists.newArrayList(association1, association3), IsIterableContainingInAnyOrder.containsInAnyOrder(controller.getElementList().toArray()));
}
Leider schlägt der Test fehlt :
Kann mir jemand auf die Sprünge helfenjava.lang.AssertionError: elementList content
Expected: iterable over [<Mock for Association, hashCode: 1924582348>, <Mock for Association, hashCode: 2097514481>, <Mock for Association, hashCode: 1568059495>] in any order
but: No item matches: <Mock for Association, hashCode: 2097514481> in [<Mock for Association, hashCode: 1924582348>, <Mock for Association, hashCode: 1568059495>]