@Test
<BUG>public void should_call_all_listener_when_mock_return_normally() throws Exception {
Foo foo = mock(Foo.class, withSettings().invocationListeners(listener1, listener2));</BUG>
given(foo.giveMeSomeString("herb")).willReturn("rosemary");
foo.giveMeSomeString("herb");
<BUG>assertThatHasBeenNotified(listener1, "rosemary", getClass().getSimpleName());

assertThatHasBeenNotified(listener2, "rosemary", getClass().getSimpleName());
</BUG>
}

@Test
public void should_call_single_listener_when_mock_return_normally() throws Exception {
RememberingListener listener = new RememberingListener();
Foo foo = mock(Foo.class, withSettings().invocationListeners(listener));
willReturn("basil").given(foo).giveMeSomeString("herb");
foo.giveMeSomeString("herb");
assertThat(listener).is(notifiedFor("basil", getClass().getSimpleName()));
}
