2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.protocol.concepts;
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertNull;
12 import org.junit.Test;
14 public class MultiRegistryTest {
17 public void testMultiRegistry() {
18 final MultiRegistry<Object, Integer> registry = new MultiRegistry<>();
19 final String first = "first";
20 final String second = "second";
21 final String third = "third";
23 final AbstractRegistration a = registry.register(first, 1);
24 registry.register(second, 2);
25 registry.register(third, 3);
27 assertEquals(Integer.valueOf(1), registry.get("first"));
28 assertEquals(Integer.valueOf(2), registry.get("second"));
29 assertEquals(Integer.valueOf(3), registry.get("third"));
31 registry.register(second, 22);
33 assertEquals(Integer.valueOf(22), registry.get("second"));
35 registry.register(Character.valueOf('c'), 5);
37 assertEquals(Integer.valueOf(5), registry.get('c'));
41 assertNull(registry.get("first"));
45 public void testDifferentNumbers() {
46 final MultiRegistry<Object, Number> registry = new MultiRegistry<>();
47 final String first = "first";
49 registry.register(first, new Integer(1));
50 assertEquals(Integer.valueOf(1), registry.get("first"));
52 registry.register(first, new Short((short) 1));
53 assertEquals(Integer.valueOf(1), registry.get("first"));
55 registry.register(first, new Short((short) 2));
56 assertEquals(Integer.valueOf(1), registry.get("first"));
60 public void testDifferentClasses() {
61 final MultiRegistry<Object, Object> registry = new MultiRegistry<>();
62 final String first = "first";
63 final String second = "second";
65 registry.register(first, new Integer(1));
66 assertEquals(Integer.valueOf(1), registry.get("first"));
68 registry.register(first, new Character('1'));
69 assertEquals(Integer.valueOf(1), registry.get("first"));
71 registry.register(second, new Character('2'));
72 assertEquals(Character.valueOf('2'), registry.get("second"));
74 registry.register(second, new Integer(2));
75 assertEquals(Character.valueOf('2'), registry.get("second"));
77 registry.register(second, new Object());
78 assertEquals(Character.valueOf('2'), registry.get("second"));