blob: 13fe5d8663501ca68bee146f58faeb84b59b9a90 [file] [log] [blame]
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07001/*
2 * Copyright 2014 Open Networking Laboratory
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
tomb36046e2014-08-27 00:22:24 -070016package org.onlab.onos.event;
17
18import org.junit.Test;
19
20import static org.junit.Assert.assertFalse;
21import static org.junit.Assert.assertTrue;
22
23/**
24 * Tests of the base listener manager.
25 */
tom96dfcab2014-08-28 09:26:03 -070026public class AbstractListenerRegistryTest {
tomb36046e2014-08-27 00:22:24 -070027
28 @Test
29 public void basics() {
30 TestListener listener = new TestListener();
31 TestListener secondListener = new TestListener();
tom96dfcab2014-08-28 09:26:03 -070032 TestListenerRegistry manager = new TestListenerRegistry();
tomb36046e2014-08-27 00:22:24 -070033 manager.addListener(listener);
34 manager.addListener(secondListener);
35
36 TestEvent event = new TestEvent(TestEvent.Type.BAR, "bar");
37 manager.process(event);
38 assertTrue("event not processed", listener.events.contains(event));
39 assertTrue("event not processed", secondListener.events.contains(event));
40
41 manager.removeListener(listener);
42
43 TestEvent another = new TestEvent(TestEvent.Type.FOO, "foo");
44 manager.process(another);
45 assertFalse("event processed", listener.events.contains(another));
46 assertTrue("event not processed", secondListener.events.contains(event));
47 }
48
49 @Test
50 public void badListener() {
51 TestListener listener = new BrokenListener();
52 TestListener secondListener = new TestListener();
tom96dfcab2014-08-28 09:26:03 -070053 TestListenerRegistry manager = new TestListenerRegistry();
tomb36046e2014-08-27 00:22:24 -070054 manager.addListener(listener);
55 manager.addListener(secondListener);
56
57 TestEvent event = new TestEvent(TestEvent.Type.BAR, "bar");
58 manager.process(event);
59 assertFalse("event processed", listener.events.contains(event));
60 assertFalse("error not reported", manager.errors.isEmpty());
61 assertTrue("event not processed", secondListener.events.contains(event));
62 }
63
64}