@Test public void doesNotThrowExceptionIfNoListenersAreRegisteredWhenAnnouncing() { // Given announcer: Announcer<AnnouncerTestListener> announcer = Announcer.to(AnnouncerTestListener.class); assertThat(announcer, is(notNullValue())); // Don't register listeners // Announce: announcer.announce().announceTest("Hello Observers"); // Announcer should not throw exceptions. }
@Test public void announcesToRegisteredListener() { // Given announcer: Announcer<AnnouncerTestListener> announcer = Announcer.to(AnnouncerTestListener.class); assertThat(announcer, is(notNullValue())); // Register listeners: TestObserver observer = new TestObserver(); announcer.addListener(observer); // Announce: announcer.announce().announceTest("Hello Observers"); // Then: assertThat(observer.message(), is("Hello Observers")); }
@Test public void announcesToMultipleRegisteredListeners() { // Given announcer: Announcer<AnnouncerTestListener> announcer = Announcer.to(AnnouncerTestListener.class); assertThat(announcer, is(notNullValue())); // Register listeners: TestObserver observer1 = new TestObserver(); TestObserver observer2 = new TestObserver(); TestObserver observer3 = new TestObserver(); announcer.addListener(observer1); announcer.addListener(observer2); announcer.addListener(observer3); // Announce: announcer.announce().announceTest("Hello Observers"); // Then: assertThat(observer1.message(), is("Hello Observers")); assertThat(observer2.message(), is("Hello Observers")); assertThat(observer3.message(), is("Hello Observers")); }