81d23482532d9bdb006a25434e970b97f4602b7e
[mdsal.git] /
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.mdsal.eos.common.api;
9
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertFalse;
12 import static org.junit.Assert.assertNotEquals;
13 import static org.junit.Assert.assertTrue;
14
15 import java.io.Serial;
16 import org.junit.Test;
17 import org.opendaylight.yangtools.concepts.HierarchicalIdentifier;
18
19 public class GenericEntityTest {
20
21     @Test
22     public void basicTest() throws Exception {
23         final TestClass testClass = new TestClass();
24         final GenericEntity<?> genericEntity = new GenericEntity<>("testType", testClass);
25         final GenericEntity<?> genericEntityDiff = new GenericEntity<>("differentTestType", new TestClassDiff());
26
27         assertEquals(TestClass.class, genericEntity.getIdentifier().getClass());
28         assertEquals("testType", genericEntity.getType());
29         assertTrue(genericEntity.toString().contains("testType"));
30         assertNotEquals(genericEntity.hashCode(), genericEntityDiff.hashCode());
31         assertTrue(genericEntity.equals(genericEntity));
32         assertTrue(genericEntity.equals(new GenericEntity<>("testType", testClass)));
33         assertFalse(genericEntity.equals(genericEntityDiff));
34         assertFalse(genericEntity.equals(""));
35         assertFalse(genericEntity.equals(new GenericEntity<>("differentTestType", testClass)));
36     }
37
38     private static final class TestClass implements HierarchicalIdentifier<TestClass> {
39         @Serial
40         private static final long serialVersionUID = 1L;
41
42         @Override
43         public boolean contains(final TestClass other) {
44             return false;
45         }
46     }
47
48     private static final class TestClassDiff implements HierarchicalIdentifier<TestClassDiff> {
49         @Serial
50         private static final long serialVersionUID = 1L;
51
52         @Override
53         public boolean contains(final TestClassDiff other) {
54             return false;
55         }
56     }
57 }