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('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, 1);
50 assertEquals(1, registry.get("first"));
52 registry.register(first, (short) 1);
53 assertEquals(1, registry.get("first"));
55 registry.register(first, (short) 2);
56 assertEquals(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, 1);
66 assertEquals(1, registry.get("first"));
68 registry.register(first, '1');
69 assertEquals(1, registry.get("first"));
71 registry.register(second, '2');
72 assertEquals('2', registry.get("second"));
74 registry.register(second, 2);
75 assertEquals('2', registry.get("second"));
77 registry.register(second, new Object());
78 assertEquals('2', registry.get("second"));