Extended coverage of YangInstanceIdentifier 77/12677/5
authorKinsey Nietzsche <kinsey.nietzsche@pantheon.sk>
Mon, 10 Nov 2014 14:40:11 +0000 (15:40 +0100)
committerRobert Varga <rovarga@cisco.com>
Sun, 22 Mar 2015 09:50:46 +0000 (10:50 +0100)
removed failing assertion from InstanceIdentifierTest

Signed-off-by: Kinsey Nietzsche <kinsey.nietzsche@pantheon.sk>
Change-Id: I282c4c7730032c076c017f2c3288807c80628ad0

yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifierTest.java [moved from yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/InstanceIdentifierTest.java with 83% similarity]

similarity index 83%
rename from yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/InstanceIdentifierTest.java
rename to yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifierTest.java
index cc34224da23a7cf8b6e40856e37c89c6651dd0c9..95363b0ce9dba58b4de246cb550119947c91fae7 100644 (file)
@@ -9,7 +9,9 @@
 package org.opendaylight.yangtools.yang.data.api;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Iterables;
@@ -36,7 +38,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
  *
  * @author Thomas Pantelis
  */
-public class InstanceIdentifierTest {
+public class YangInstanceIdentifierTest {
 
     static QName nodeName1 = QName.create("test", "2014-5-28", "node1");
     static QName nodeName2 = QName.create("test", "2014-5-28", "node2");
@@ -46,22 +48,47 @@ public class InstanceIdentifierTest {
     static QName key2 = QName.create("test", "2014-5-28", "key2");
     static QName key3 = QName.create("test", "2014-5-28", "key3");
 
+    @Test
+    public void testGetLastPathArgument() {
+       YangInstanceIdentifier id1 = YangInstanceIdentifier.create(new NodeIdentifier(nodeName1), new NodeIdentifier(nodeName2));
+       assertEquals( "getLastPathArgument", new NodeIdentifier(nodeName2), id1.getLastPathArgument());
+       YangInstanceIdentifier id2 = YangInstanceIdentifier.create();
+       assertNull( id2.getLastPathArgument() );
+    }
+
     @Test
     public void testHashCodeEquals() {
 
+        YangInstanceIdentifier id1 = YangInstanceIdentifier.create(new NodeIdentifier(nodeName1), new NodeIdentifier(nodeName2));
+        YangInstanceIdentifier id2 = YangInstanceIdentifier.create(new NodeIdentifier(nodeName1), new NodeIdentifier(nodeName2));
+
+        assertEquals( "hashCode", id1.hashCode(), id2.hashCode() );
+    }
+
+    @Test
+    public void testEquals() {
+
         YangInstanceIdentifier id1 = YangInstanceIdentifier.create(new NodeIdentifier(nodeName1), new NodeIdentifier(nodeName2));
         YangInstanceIdentifier id2 = YangInstanceIdentifier.create(new NodeIdentifier(nodeName1), new NodeIdentifier(nodeName2));
         YangInstanceIdentifier id3 = YangInstanceIdentifier.create(new NodeIdentifier(nodeName2), new NodeIdentifier(nodeName1));
         YangInstanceIdentifier id4 = YangInstanceIdentifier.create(new NodeIdentifier(nodeName1));
 
-        assertEquals( "hashCode", id1.hashCode(), id2.hashCode() );
+        assertEquals( "equals", false, id1.equals( null ) );
+        assertEquals( "equals", true, id1.equals( id1 ) );
         assertEquals( "equals", true, id1.equals( id2 ) );
-
         assertEquals( "equals", false, id1.equals( id3 ) );
         assertEquals( "equals", false, id1.equals( id4 ) );
         assertEquals( "equals", false, id1.equals( new Object() ) );
     }
 
+    @Test
+    public void testToString() {
+       YangInstanceIdentifier id = YangInstanceIdentifier.create(new NodeIdentifier(nodeName1), new NodeIdentifier(nodeName2));
+
+       assertNotNull( id.toString() );
+
+    }
+
     @Test
     public void testNode() {
 
@@ -98,7 +125,6 @@ public class InstanceIdentifierTest {
                 Lists.newArrayList(new NodeIdentifier(nodeName1), new NodeIdentifier(nodeName2)));
 
         Optional<YangInstanceIdentifier> relative = id1.relativeTo( id2 );
-
         assertEquals( "isPresent", true, relative.isPresent() );
 
         Iterable<PathArgument> p = relative.get().getPathArguments();
@@ -114,6 +140,13 @@ public class InstanceIdentifierTest {
         assertEquals( "isPresent", false, relative.isPresent() );
     }
 
+    @Test(expected=IllegalArgumentException.class)
+    public void testContainsNull() {
+        final YangInstanceIdentifier id = YangInstanceIdentifier.create(new NodeIdentifier(nodeName1));
+
+        id.contains( null );
+    }
+
     @Test
     public void testContains() {
 
@@ -208,6 +241,7 @@ public class InstanceIdentifierTest {
         assertEquals( "equals", false, node1.equals( new Object() ) );
 
         assertNotNull( node1.toString() ); // for code coverage
+        assertNotNull( node1.toRelativeString(node2) );
 
         NodeIdentifierWithPredicates node3 = new NodeIdentifierWithPredicates( nodeName1,
                 ImmutableMap.<QName, Object>builder().put( key1, 10 ).put( key2, 20 ).build() );
@@ -254,6 +288,7 @@ public class InstanceIdentifierTest {
         assertEquals( "equals", false, node1.equals( new Object() ) );
 
         assertNotNull( node1.toString() ); // for code coverage
+        assertNotNull( node1.toRelativeString(node2) );
 
         NodeWithValue node3 = new NodeWithValue( nodeName1, new byte[]{1,2} );
         NodeWithValue node4 = new NodeWithValue( nodeName1, new byte[]{1,2} );
@@ -270,38 +305,55 @@ public class InstanceIdentifierTest {
 
         NodeIdentifier node1 = new NodeIdentifier( nodeName1 );
         assertEquals( "getNodeType", nodeName1, node1.getNodeType() );
-
         NodeIdentifier node2 = new NodeIdentifier( nodeName1 );
+        AugmentationIdentifier node3 = new AugmentationIdentifier( Sets.newHashSet( nodeName1, nodeName2 ) );
 
         assertEquals( "hashCode", node1.hashCode(), node2.hashCode() );
-        assertEquals( "equals", true, node1.equals( node2 ) );
         assertEquals( "compareTo", 0, node1.compareTo( node2 ) );
+        assertEquals( "compareTo", true, node1.compareTo( new NodeIdentifier( nodeName3 ) ) != 0 );
 
+        assertEquals( "equals", false, node1.equals( null ) );
+        assertEquals( "equals", false, node1.equals( node3 ) );
+        assertEquals( "equals", true, node1.equals( node1 ) );
+        assertEquals( "equals", true, node1.equals( node2 ) );
         assertEquals( "equals", false, node1.equals( new NodeIdentifier( nodeName3 ) ) );
-        assertEquals( "compareTo", true, node1.compareTo( new NodeIdentifier( nodeName3 ) ) != 0 );
         assertEquals( "equals", false, node1.equals( new Object() ) );
 
         assertNotNull( node1.toString() ); // for code coverage
     }
 
+    @Test(expected=UnsupportedOperationException.class)
+    public void testAugmentationIdentifierNodeType() {
+        AugmentationIdentifier node1 = new AugmentationIdentifier( Sets.newHashSet( nodeName1, nodeName2 ) );
+        node1.getNodeType();
+    }
+
     @Test
     public void testAugmentationIdentifier() {
 
         AugmentationIdentifier node1 = new AugmentationIdentifier( Sets.newHashSet( nodeName1, nodeName2 ) );
         assertEquals( "getPossibleChildNames", Sets.newHashSet( nodeName1, nodeName2 ), node1.getPossibleChildNames() );
-
         AugmentationIdentifier node2 = new AugmentationIdentifier( Sets.newHashSet( nodeName2, nodeName1 ) );
+        AugmentationIdentifier node3 = new AugmentationIdentifier( Sets.newHashSet( nodeName1, nodeName3 ) );
+        AugmentationIdentifier node4 = new AugmentationIdentifier( Sets.newHashSet( nodeName1, nodeName2, nodeName3 ) );
+        NodeIdentifier node5 = new NodeIdentifier( nodeName3 );
 
         assertEquals( "hashCode", node1.hashCode(), node2.hashCode() );
-        assertEquals( "equals", true, node1.equals( node2 ) );
 
-        assertEquals( "equals", false,
-                node1.equals( new AugmentationIdentifier( Sets.newHashSet( nodeName1, nodeName3 ) ) ) );
-        assertEquals( "equals", false,
-                node1.equals( new AugmentationIdentifier( Sets.newHashSet( nodeName1 ) ) ) );
+        assertEquals( "equals", true, node1.equals( node1 ) );
+        assertEquals( "equals", true, node1.equals( node2 ) );
+        assertEquals( "equals", false, node1.equals( node3 ) );
+        assertEquals( "equals", false, node1.equals( new AugmentationIdentifier( Sets.newHashSet( nodeName1 ) ) ) );
         assertEquals( "equals", false, node1.equals( new Object() ) );
 
+        assertEquals( "compareTo", -1, node1.compareTo( node5 ) );
+        assertNotEquals( "compareTo", -1, node1.compareTo( node2 ) );
+        assertEquals( "compareTo", 0, node1.compareTo( node2 ) );
+        assertEquals( "compareTo", 1, node1.compareTo( node4 ) );
+        assertEquals( "compareTo", -1, node4.compareTo( node1 ) );
+
         assertNotNull( node1.toString() ); // for code coverage
+        assertNotNull( node1.toRelativeString(node5));
     }
 
     @Test