### Question:
KingsHand extends EventEmitter implements EventObserver { @Override public void onEvent(Event e) { notifyObservers(e); } KingsHand();  KingsHand(EventObserver obs); @Override void onEvent(Event e); @Override void timePasses(Weekday day);  }### Answer:
@Test public void testPassThrough() throws Exception { final var observer = mock(EventObserver.class); final var kingsHand = new KingsHand(observer); verifyZeroInteractions(observer); Arrays.stream(Event.values()).forEach(event -> { kingsHand.onEvent(event); verify(observer, times(1)).onEvent(eq(event)); verifyNoMoreInteractions(observer); }); }
@Test public void testPassThrough() throws Exception { final EventObserver observer = mock(EventObserver.class); final KingsHand kingsHand = new KingsHand(observer); verifyZeroInteractions(observer); for (final Event event : Event.values()) { kingsHand.onEvent(event); verify(observer, times(1)).onEvent(eq(event)); verifyNoMoreInteractions(observer); } }