@Test public void addWorkers() { Person worker1 = new Person(crs.getModel()); Person worker2 = new Person(crs.getModel()); assertEquals(crs.getWorkers().size(), 2); // it starts with two PlantListener fakeListener = mock(PlantListener.class); // addSalesDepartmentListener a fake listener crs.addListener(fakeListener); crs.addWorkers(worker1, worker2); worker1.hired(crs.getOwner(), 9999999); worker2.hired(crs.getOwner(), 9999999); assertEquals(crs.getWorkers().size(), 4); assertTrue(crs.getWorkers().contains(worker1)); assertTrue(crs.getWorkers().contains(worker2)); Mockito.verify(fakeListener, times(1)) .changeInWorkforceEvent( any(Plant.class), any(Integer.class), any( Integer .class)); // make sure it was called just once!!! That's the all point of this // method }