package uk.co.acuminous.julez.event.pipe; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; import org.junit.Test; import uk.co.acuminous.julez.event.Event; import uk.co.acuminous.julez.test.TestEventRepository; public class FanOutPipeTest { @Test public void forwardsEventsToAllHandlers() { TestEventRepository repository1 = new TestEventRepository(); TestEventRepository repository2 = new TestEventRepository(); FanOutPipe pipe = new FanOutPipe().registerAll(repository1, repository2); Event event = new Event("test"); pipe.onEvent(event); assertEquals(1, repository1.count()); assertSame(event, repository1.first()); assertEquals(1, repository2.count()); assertSame(event, repository2.first()); } @Test public void tolleratesNoHandlers() { new FanOutPipe().onEvent(new Event("test")); } }