Enforce InstanceIdentifier creation
[mdsal.git] / binding / mdsal-binding-api / src / test / java / org / opendaylight / mdsal / binding / api / DataTreeIdentifierTest.java
index c5427c235358afc3c60734a0d972a1a9fcabd59c..1f6879b9e007aebda82ced5e5d4a907c76fa7f6d 100644 (file)
@@ -14,16 +14,24 @@ import static org.junit.Assert.assertTrue;
 
 import org.junit.Test;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yangtools.yang.binding.DataContainer;
+import org.opendaylight.yangtools.yang.binding.ChildOf;
 import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.DataRoot;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 public class DataTreeIdentifierTest {
+
     private static final DataTreeIdentifier<TestDataObject1> TEST_IDENTIFIER1 = DataTreeIdentifier.create(
             LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(TestDataObject1.class));
     private static final DataTreeIdentifier<TestDataObject2> TEST_IDENTIFIER2 = DataTreeIdentifier.create(
             LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(TestDataObject2.class));
 
+    @Test
+    public void basicTest() throws Exception {
+        assertEquals(LogicalDatastoreType.OPERATIONAL, TEST_IDENTIFIER1.getDatastoreType());
+        assertEquals(InstanceIdentifier.create(TestDataObject1.class), TEST_IDENTIFIER1.getRootIdentifier());
+    }
+
     @Test
     public void containsTest() {
         assertTrue("Contains", TEST_IDENTIFIER1.contains(DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL,
@@ -33,31 +41,34 @@ public class DataTreeIdentifierTest {
 
     @Test
     public void hashCodeTest() {
-        assertEquals("hashCode", TEST_IDENTIFIER1.hashCode(), DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL,
-                InstanceIdentifier.create(TestDataObject1.class)).hashCode());
+        assertEquals("hashCode", TEST_IDENTIFIER1.hashCode(), DataTreeIdentifier.create(
+                LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(TestDataObject1.class)).hashCode());
         assertNotEquals("hashCode", TEST_IDENTIFIER1.hashCode(), TEST_IDENTIFIER2.hashCode());
     }
 
     @Test
     public void equalsTest() {
+        assertTrue("Equals", TEST_IDENTIFIER1.equals(TEST_IDENTIFIER1));
         assertTrue("Equals", TEST_IDENTIFIER1.equals(DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL,
                 InstanceIdentifier.create(TestDataObject1.class))));
         assertFalse("Different", TEST_IDENTIFIER1.equals(DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION,
                 InstanceIdentifier.create(TestDataObject1.class))));
         assertFalse("Different", TEST_IDENTIFIER1.equals(TEST_IDENTIFIER2));
+        assertFalse("Equals null", TEST_IDENTIFIER1.equals(null));
+        assertFalse("Different object", TEST_IDENTIFIER1.equals(new Object()));
     }
 
-    private static class TestDataObject1 implements DataObject {
+    private interface TestDataObject1 extends ChildOf<DataRoot> {
         @Override
-        public Class<? extends DataContainer> getImplementedInterface() {
-            return null;
+        default Class<? extends DataObject> implementedInterface() {
+            return TestDataObject1.class;
         }
     }
 
-    private static class TestDataObject2 implements DataObject {
+    private interface TestDataObject2 extends ChildOf<DataRoot> {
         @Override
-        public Class<? extends DataContainer> getImplementedInterface() {
-            return null;
+        default Class<? extends DataObject> implementedInterface() {
+            return TestDataObject2.class;
         }
     }
-}
\ No newline at end of file
+}