blob: effcc796f7bdbd41039dcaf972bf7ac147693f7c [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 */
11public class AbstractListenerManagerTest {
12
13 @Test
14 public void basics() {
15 TestListener listener = new TestListener();
16 TestListener secondListener = new TestListener();
17 TestListenerManager manager = new TestListenerManager();
18 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();
38 TestListenerManager manager = new TestListenerManager();
39 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}