Modernize MoreRevisionsTest
[yangtools.git] / yang / yang-parser-rfc7950 / src / test / java / org / opendaylight / yangtools / yang / stmt / ControllerStmtParserTest.java
index a1c5abb7f16fa5dadd3aef0ee865608baf4a6cbf..6c3f9a0da891cf824fc4c528436ee27ca4e6615f 100644 (file)
@@ -11,11 +11,9 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import java.net.URI;
 import java.util.Collection;
 import org.junit.Test;
 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.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
@@ -26,8 +24,10 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.UsesNode;
+import org.opendaylight.yangtools.yang.model.api.stmt.RefineEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.UsesEffectiveStatement;
 
 public class ControllerStmtParserTest {
 
@@ -45,23 +45,27 @@ public class ControllerStmtParserTest {
 
         boolean checked = false;
         for (final AugmentationSchemaNode augmentationSchema : module.getAugmentations()) {
-            final DataSchemaNode dataNode = augmentationSchema
-                    .getDataChildByName(QName.create(module.getQNameModule(), "dom-broker-impl"));
+            final DataSchemaNode dataNode = augmentationSchema.dataChildByName(
+                QName.create(module.getQNameModule(), "dom-broker-impl"));
             if (dataNode instanceof CaseSchemaNode) {
                 final CaseSchemaNode caseNode = (CaseSchemaNode) dataNode;
-                final DataSchemaNode dataNode2 = caseNode
-                        .getDataChildByName(QName.create(module.getQNameModule(), "async-data-broker"));
+                final DataSchemaNode dataNode2 = caseNode.dataChildByName(
+                    QName.create(module.getQNameModule(), "async-data-broker"));
                 if (dataNode2 instanceof ContainerSchemaNode) {
                     final ContainerSchemaNode containerNode = (ContainerSchemaNode) dataNode2;
                     final DataSchemaNode leaf = containerNode
                             .getDataChildByName(QName.create(module.getQNameModule(), "type"));
-                    final Collection<? extends UnknownSchemaNode> unknownSchemaNodes = leaf.getUnknownSchemaNodes();
-                    assertEquals(1, unknownSchemaNodes.size());
+                    assertEquals(0, leaf.getUnknownSchemaNodes().size());
 
-                    final UnknownSchemaNode unknownSchemaNode = unknownSchemaNodes.iterator().next();
-                    assertEquals("dom-async-data-broker", unknownSchemaNode.getQName().getLocalName());
-                    assertEquals(unknownSchemaNode.getQName(), unknownSchemaNode.getPath().getLastComponent());
+                    final Collection<? extends UnrecognizedStatement> unknownSchemaNodes =
+                        containerNode.asEffectiveStatement()
+                            .findFirstEffectiveSubstatement(UsesEffectiveStatement.class).orElseThrow()
+                            .findFirstEffectiveSubstatement(RefineEffectiveStatement.class).orElseThrow()
+                            .getDeclared().declaredSubstatements(UnrecognizedStatement.class);
 
+
+                    final UnrecognizedStatement unknownSchemaNode = unknownSchemaNodes.iterator().next();
+                    assertEquals("sal:dom-async-data-broker", unknownSchemaNode.argument());
                     checked = true;
                 }
             }
@@ -99,14 +103,7 @@ public class ControllerStmtParserTest {
 
         final ContainerSchemaNode containerNode = (ContainerSchemaNode) dataNode2;
         final DataSchemaNode leaf = containerNode.getDataChildByName(QName.create(module.getQNameModule(), "type"));
-        final Collection<? extends UnknownSchemaNode> unknownSchemaNodes = leaf.getUnknownSchemaNodes();
-
-        assertEquals(1, unknownSchemaNodes.size());
-
-        final UnknownSchemaNode unknownSchemaNode = unknownSchemaNodes.iterator().next();
-
-        assertEquals(unknownSchemaNode.getQName(), unknownSchemaNode.getPath().getLastComponent());
-        assertEquals("dom-async-data-broker", unknownSchemaNode.getQName().getLocalName());
+        assertEquals(0, leaf.getUnknownSchemaNodes().size());
 
         final CaseSchemaNode domInmemoryDataBroker = confChoice.findCaseNodes("dom-inmemory-data-broker").iterator()
                 .next();
@@ -122,23 +119,25 @@ public class ControllerStmtParserTest {
         final UsesNode uses = schemaServiceContainer.getUses().iterator().next();
         final QName groupingQName = QName.create("urn:opendaylight:params:xml:ns:yang:controller:config", "2013-04-05",
             "service-ref");
-        final QName usesGroupingPathLastComponent = uses.getGroupingPath().getLastComponent();
-        assertEquals(groupingQName, usesGroupingPathLastComponent);
+        assertEquals(groupingQName, uses.getSourceGrouping().getQName());
         assertEquals(0, getChildNodeSizeWithoutUses(schemaServiceContainer));
 
         final DataSchemaNode type = schemaServiceContainer.getDataChildByName(QName.create(module.getQNameModule(),
             "type"));
-        final Collection<? extends UnknownSchemaNode> typeUnknownSchemaNodes = type.getUnknownSchemaNodes();
+        assertEquals(0, type.getUnknownSchemaNodes().size());
+
+        final Collection<? extends UnrecognizedStatement> typeUnknownSchemaNodes =
+            schemaServiceContainer.asEffectiveStatement()
+                .findFirstEffectiveSubstatement(UsesEffectiveStatement.class).orElseThrow()
+                .findFirstEffectiveSubstatement(RefineEffectiveStatement.class).orElseThrow()
+                .getDeclared().declaredSubstatements(UnrecognizedStatement.class);
         assertEquals(1, typeUnknownSchemaNodes.size());
 
-        final UnknownSchemaNode typeUnknownSchemaNode = typeUnknownSchemaNodes.iterator().next();
-        final QNameModule qNameModule = QNameModule.create(
-            URI.create("urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom"), Revision.of("2013-10-28"));
-        final QName qName = QName.create(qNameModule, "schema-service");
 
-        assertEquals(qName, typeUnknownSchemaNode.getQName());
-        assertEquals(typeUnknownSchemaNode.getQName(), typeUnknownSchemaNode
-                .getPath().getLastComponent());
+        final UnrecognizedStatement typeUnknownSchemaNode = typeUnknownSchemaNodes.iterator().next();
+        assertEquals("sal:schema-service", typeUnknownSchemaNode.argument());
+        assertEquals(QName.create(groupingQName, "required-identity"),
+            typeUnknownSchemaNode.statementDefinition().getStatementName());
     }
 
     private static int getChildNodeSizeWithoutUses(final DataNodeContainer csn) {