Introduce WhenConditionAware
[yangtools.git] / yang / yang-parser-impl / src / test / java / org / opendaylight / yangtools / yang / stmt / AugmentTest.java
index dde43433a66785e2247b1c51ee134f5141492239..300111b7a879241c66df7344f1dba28e5f3f78a3 100644 (file)
@@ -14,7 +14,6 @@ import static org.junit.Assert.assertTrue;
 
 import java.net.URI;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -24,7 +23,7 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.common.YangConstants;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
+import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
@@ -40,11 +39,11 @@ import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
 
 public class AugmentTest {
     private static final QNameModule FOO = QNameModule.create(
-        URI.create("urn:opendaylight.foo"), Revision.valueOf("2013-10-13"));
+        URI.create("urn:opendaylight.foo"), Revision.of("2013-10-13"));
     private static final QNameModule BAR = QNameModule.create(
-        URI.create("urn:opendaylight.bar"), Revision.valueOf("2013-10-14"));
+        URI.create("urn:opendaylight.bar"), Revision.of("2013-10-14"));
     private static final QNameModule BAZ = QNameModule.create(
-        URI.create("urn:opendaylight.baz"), Revision.valueOf("2013-10-15"));
+        URI.create("urn:opendaylight.baz"), Revision.of("2013-10-15"));
 
     private static final QName Q0 = QName.create(BAR, "interfaces");
     private static final QName Q1 = QName.create(BAR, "ifEntry");
@@ -54,7 +53,6 @@ public class AugmentTest {
     public void testAugmentParsing() throws Exception {
         final SchemaContext context = TestUtils.loadModules(getClass().getResource("/augment-test/augment-in-augment")
             .toURI());
-        SchemaPath expectedSchemaPath;
         final List<QName> qnames = new ArrayList<>();
         qnames.add(Q0);
         qnames.add(Q1);
@@ -62,12 +60,12 @@ public class AugmentTest {
 
         // foo.yang
         final Module module1 = TestUtils.findModule(context, "foo").get();
-        Set<AugmentationSchema> augmentations = module1.getAugmentations();
+        Set<AugmentationSchemaNode> augmentations = module1.getAugmentations();
         assertEquals(1, augmentations.size());
-        final AugmentationSchema augment = augmentations.iterator().next();
+        final AugmentationSchemaNode augment = augmentations.iterator().next();
         assertNotNull(augment);
 
-        expectedSchemaPath = SchemaPath.create(qnames, true);
+        SchemaPath expectedSchemaPath = SchemaPath.create(qnames, true);
         assertEquals(expectedSchemaPath, augment.getTargetPath());
 
         final Collection<DataSchemaNode> augmentChildren = augment.getChildNodes();
@@ -131,15 +129,15 @@ public class AugmentTest {
         final Module module3 = TestUtils.findModule(context, "baz").get();
         augmentations = module3.getAugmentations();
         assertEquals(3, augmentations.size());
-        AugmentationSchema augment1 = null;
-        AugmentationSchema augment2 = null;
-        AugmentationSchema augment3 = null;
-        for (final AugmentationSchema as : augmentations) {
-            if (as.getWhenCondition() == null) {
+        AugmentationSchemaNode augment1 = null;
+        AugmentationSchemaNode augment2 = null;
+        AugmentationSchemaNode augment3 = null;
+        for (final AugmentationSchemaNode as : augmentations) {
+            if (!as.getWhenCondition().isPresent()) {
                 augment3 = as;
-            } else if ("if:ifType='ds0'".equals(as.getWhenCondition().toString())) {
+            } else if ("if:ifType='ds0'".equals(as.getWhenCondition().get().toString())) {
                 augment1 = as;
-            } else if ("if:ifType='ds2'".equals(as.getWhenCondition().toString())) {
+            } else if ("if:ifType='ds2'".equals(as.getWhenCondition().get().toString())) {
                 augment2 = as;
             }
         }
@@ -173,7 +171,6 @@ public class AugmentTest {
         final ListSchemaNode ifEntry = (ListSchemaNode) interfaces.getDataChildByName(QName.create(
                 module2.getQNameModule(), "ifEntry"));
 
-        SchemaPath expectedPath;
         final List<QName> qnames = new ArrayList<>();
         qnames.add(Q0);
         qnames.add(Q1);
@@ -185,8 +182,7 @@ public class AugmentTest {
                 "augment-holder"));
         TestUtils.checkIsAugmenting(augmentHolder, true);
         assertEquals(Q2, augmentHolder.getQName());
-        expectedPath = SchemaPath.create(qnames, true);
-        assertEquals(expectedPath, augmentHolder.getPath());
+        assertEquals(SchemaPath.create(qnames, true), augmentHolder.getPath());
 
         // foo.yang
         // augment "/br:interfaces/br:ifEntry/bz:augment-holder"
@@ -207,29 +203,25 @@ public class AugmentTest {
         QName qname = QName.create(FOO, "ds0ChannelNumber");
         assertEquals(qname, ds0ChannelNumber.getQName());
         qnames.add(qname);
-        expectedPath = SchemaPath.create(qnames, true);
-        assertEquals(expectedPath, ds0ChannelNumber.getPath());
+        assertEquals(SchemaPath.create(qnames, true), ds0ChannelNumber.getPath());
 
         // leaf interface-id
         qname = QName.create(FOO, "interface-id");
         assertEquals(qname, interfaceId.getQName());
         qnames.set(3, qname);
-        expectedPath = SchemaPath.create(qnames, true);
-        assertEquals(expectedPath, interfaceId.getPath());
+        assertEquals(SchemaPath.create(qnames, true), interfaceId.getPath());
 
         // container schemas
         qname = QName.create(FOO, "schemas");
         assertEquals(qname, schemas.getQName());
         qnames.set(3, qname);
-        expectedPath = SchemaPath.create(qnames, true);
-        assertEquals(expectedPath, schemas.getPath());
+        assertEquals(SchemaPath.create(qnames, true), schemas.getPath());
 
         // choice odl
         qname = QName.create(FOO, "odl");
         assertEquals(qname, odl.getQName());
         qnames.set(3, qname);
-        expectedPath = SchemaPath.create(qnames, true);
-        assertEquals(expectedPath, odl.getPath());
+        assertEquals(SchemaPath.create(qnames, true), odl.getPath());
     }
 
     @Test
@@ -274,7 +266,6 @@ public class AugmentTest {
         assertNotNull(node2);
         assertNotNull(node3);
 
-        SchemaPath expectedPath;
         final List<QName> qnames = new ArrayList<>();
         qnames.add(Q0);
         qnames.add(Q1);
@@ -285,8 +276,7 @@ public class AugmentTest {
         QName qname = QName.create(FOO, "id");
         assertEquals(qname, id.getQName());
         qnames.add(qname);
-        expectedPath = SchemaPath.create(qnames, true);
-        assertEquals(expectedPath, id.getPath());
+        assertEquals(SchemaPath.create(qnames, true), id.getPath());
         final Collection<DataSchemaNode> idChildren = id.getChildNodes();
         assertEquals(1, idChildren.size());
 
@@ -294,8 +284,7 @@ public class AugmentTest {
         qname = QName.create(FOO, "node1");
         assertEquals(qname, node1.getQName());
         qnames.set(4, qname);
-        expectedPath = SchemaPath.create(qnames, true);
-        assertEquals(expectedPath, node1.getPath());
+        assertEquals(SchemaPath.create(qnames, true), node1.getPath());
         final Collection<DataSchemaNode> node1Children = node1.getChildNodes();
         assertTrue(node1Children.isEmpty());
 
@@ -303,8 +292,7 @@ public class AugmentTest {
         qname = QName.create(FOO, "node2");
         assertEquals(qname, node2.getQName());
         qnames.set(4, qname);
-        expectedPath = SchemaPath.create(qnames, true);
-        assertEquals(expectedPath, node2.getPath());
+        assertEquals(SchemaPath.create(qnames, true), node2.getPath());
         final Collection<DataSchemaNode> node2Children = node2.getChildNodes();
         assertTrue(node2Children.isEmpty());
 
@@ -312,8 +300,7 @@ public class AugmentTest {
         qname = QName.create(FOO, "node3");
         assertEquals(qname, node3.getQName());
         qnames.set(4, qname);
-        expectedPath = SchemaPath.create(qnames, true);
-        assertEquals(expectedPath, node3.getPath());
+        assertEquals(SchemaPath.create(qnames, true), node3.getPath());
         final Collection<DataSchemaNode> node3Children = node3.getChildNodes();
         assertEquals(1, node3Children.size());
 
@@ -329,16 +316,14 @@ public class AugmentTest {
         qnames.add(QName.create(FOO, "id"));
         final LeafSchemaNode caseIdChild = (LeafSchemaNode) idChildren.iterator().next();
         assertNotNull(caseIdChild);
-        expectedPath = SchemaPath.create(qnames, true);
-        assertEquals(expectedPath, caseIdChild.getPath());
+        assertEquals(SchemaPath.create(qnames, true), caseIdChild.getPath());
 
         // case node3 child
         qnames.set(4, QName.create(FOO, "node3"));
         qnames.set(5, QName.create(FOO, "node3"));
         final ContainerSchemaNode caseNode3Child = (ContainerSchemaNode) node3Children.iterator().next();
         assertNotNull(caseNode3Child);
-        expectedPath = SchemaPath.create(qnames, true);
-        assertEquals(expectedPath, caseNode3Child.getPath());
+        assertEquals(SchemaPath.create(qnames, true), caseNode3Child.getPath());
     }
 
     @Test
@@ -346,7 +331,7 @@ public class AugmentTest {
         final SchemaContext context = TestUtils.loadModules(getClass().getResource("/augment-test/rpc").toURI());
         final URI NS_BAR = URI.create("urn:opendaylight:bar");
         final URI NS_FOO = URI.create("urn:opendaylight:foo");
-        final Revision revision = Revision.valueOf("2013-10-11");
+        final Revision revision = Revision.of("2013-10-11");
         final Module bar = TestUtils.findModule(context, "bar").get();
         final Set<RpcDefinition> rpcs = bar.getRpcs();
         assertEquals(2, rpcs.size());
@@ -393,7 +378,6 @@ public class AugmentTest {
         assertTrue(create.isAugmenting());
         assertTrue(destroy.isAugmenting());
 
-        SchemaPath expectedPath;
         final QName[] qnames = new QName[4];
         qnames[0] = submitQName;
         qnames[1] = inputQName;
@@ -402,24 +386,21 @@ public class AugmentTest {
         // case attach
         qnames[3] = QName.create(NS_FOO, revision, "attach");
         assertEquals(qnames[3], attach.getQName());
-        expectedPath = SchemaPath.create(Arrays.asList(qnames), true);
-        assertEquals(expectedPath, attach.getPath());
+        assertEquals(SchemaPath.create(true, qnames), attach.getPath());
         final Collection<DataSchemaNode> attachChildren = attach.getChildNodes();
         assertEquals(1, attachChildren.size());
 
         // case create
         qnames[3] = QName.create(NS_FOO, revision, "create");
         assertEquals(qnames[3], create.getQName());
-        expectedPath = SchemaPath.create(Arrays.asList(qnames), true);
-        assertEquals(expectedPath, create.getPath());
+        assertEquals(SchemaPath.create(true, qnames), create.getPath());
         final Collection<DataSchemaNode> createChildren = create.getChildNodes();
         assertEquals(1, createChildren.size());
 
         // case attach
         qnames[3] = QName.create(NS_FOO, revision, "destroy");
         assertEquals(qnames[3], destroy.getQName());
-        expectedPath = SchemaPath.create(Arrays.asList(qnames), true);
-        assertEquals(expectedPath, destroy.getPath());
+        assertEquals(SchemaPath.create(true, qnames), destroy.getPath());
         final Collection<DataSchemaNode> destroyChildren = destroy.getChildNodes();
         assertEquals(1, destroyChildren.size());
     }
@@ -439,7 +420,7 @@ public class AugmentTest {
                 "nodes"));
         final ContainerSchemaNode node = (ContainerSchemaNode) nodes.getDataChildByName(QName.create(
                 test.getQNameModule(), "node"));
-        final Set<AugmentationSchema> augments = node.getAvailableAugmentations();
+        final Set<AugmentationSchemaNode> augments = node.getAvailableAugmentations();
         assertEquals(1, augments.size());
         assertEquals(1, node.getChildNodes().size());
         final LeafSchemaNode id = (LeafSchemaNode) node.getDataChildByName(QName.create(test.getQNameModule(), "id"));