blob: e41eb278a6d15fa3394acffa9bb63e1fa4b28a86 [file] [log] [blame]
tomb36046e2014-08-27 00:22:24 -07001package org.onlab.onos.event;
2
3import org.junit.Test;
4
5import static org.junit.Assert.assertFalse;
6import static org.junit.Assert.assertTrue;
7
8/**
9 * Tests of the base listener manager.
10 */
tom96dfcab2014-08-28 09:26:03 -070011public class AbstractListenerRegistryTest {
tomb36046e2014-08-27 00:22:24 -070012
13 @Test
14 public void basics() {
15 TestListener listener = new TestListener();
16 TestListener secondListener = new TestListener();
tom96dfcab2014-08-28 09:26:03 -070017 TestListenerRegistry manager = new TestListenerRegistry();
tomb36046e2014-08-27 00:22:24 -070018 manager.addListener(listener);
19 manager.addListener(secondListener);
20
21 TestEvent event = new TestEvent(TestEvent.Type.BAR, "bar");
22 manager.process(event);
23 assertTrue("event not processed", listener.events.contains(event));
24 assertTrue("event not processed", secondListener.events.contains(event));
25
26 manager.removeListener(listener);
27
28 TestEvent another = new TestEvent(TestEvent.Type.FOO, "foo");
29 manager.process(another);
30 assertFalse("event processed", listener.events.contains(another));
31 assertTrue("event not processed", secondListener.events.contains(event));
32 }
33
34 @Test
35 public void badListener() {
36 TestListener listener = new BrokenListener();
37 TestListener secondListener = new TestListener();
tom96dfcab2014-08-28 09:26:03 -070038 TestListenerRegistry manager = new TestListenerRegistry();
tomb36046e2014-08-27 00:22:24 -070039 manager.addListener(listener);
40 manager.addListener(secondListener);
41
42 TestEvent event = new TestEvent(TestEvent.Type.BAR, "bar");
43 manager.process(event);
44 assertFalse("event processed", listener.events.contains(event));
45 assertFalse("error not reported", manager.errors.isEmpty());
46 assertTrue("event not processed", secondListener.events.contains(event));
47 }
48
49}