From: Robert Varga Date: Sat, 2 Oct 2021 16:44:59 +0000 (+0200) Subject: Add AbstractModelTest X-Git-Tag: v8.0.0~208 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=f49ee8de0d617ce6ad3084ef433f39cf59c8ae11;p=yangtools.git Add AbstractModelTest We have a number of tests which are sharing same EffectiveModelContext, conceptrate loading and constants and subclass the test. Results in faster execution and quite cleaner tests. Change-Id: Ia0c7756c5222c6b736e921be2f16fe8029ccb807 Signed-off-by: Robert Varga --- diff --git a/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/AbstractModelTest.java b/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/AbstractModelTest.java new file mode 100644 index 0000000000..8d6527c692 --- /dev/null +++ b/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/AbstractModelTest.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2021 PANTHEON.tech, s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.yangtools.yang.stmt; + +import static org.junit.Assert.assertEquals; + +import org.eclipse.jdt.annotation.NonNull; +import org.junit.BeforeClass; +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.XMLNamespace; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; +import org.opendaylight.yangtools.yang.model.api.Module; + +/** + * Abstract base class for tests of the model context available in {@code src/test/resources/model}. + */ +public abstract class AbstractModelTest { + private static final QNameModule FOO_NS = + QNameModule.create(XMLNamespace.of("urn:opendaylight.foo"), Revision.of("2013-02-27")); + private static final QNameModule BAR_NS = + QNameModule.create(XMLNamespace.of("urn:opendaylight.bar"), Revision.of("2013-07-03")); + private static final QNameModule BAZ_NS = + QNameModule.create(XMLNamespace.of("urn:opendaylight.baz"), Revision.of("2013-02-27")); + + static EffectiveModelContext CTX; + static Module FOO; + static Module BAR; + static Module BAZ; + + @BeforeClass + public static void beforeClass() throws Exception { + CTX = TestUtils.loadModules("/model"); + assertEquals(3, CTX.getModules().size()); + + FOO = CTX.findModules("foo").iterator().next(); + BAR = CTX.findModules("bar").iterator().next(); + BAZ = CTX.findModules("baz").iterator().next(); + } + + static final @NonNull QName fooQName(final String localName) { + return QName.create(FOO_NS, localName); + } + + static final @NonNull QName barQName(final String localName) { + return QName.create(BAR_NS, localName); + } + + static final @NonNull QName bazQName(final String localName) { + return QName.create(BAZ_NS, localName); + } +} diff --git a/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/ChoiceStmtTest.java b/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/ChoiceStmtTest.java index a91c52c871..4952fded36 100644 --- a/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/ChoiceStmtTest.java +++ b/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/ChoiceStmtTest.java @@ -10,34 +10,16 @@ package org.opendaylight.yangtools.yang.stmt; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import java.io.IOException; -import java.net.URISyntaxException; import org.junit.Test; -import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode; import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; -import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import org.opendaylight.yangtools.yang.parser.api.YangSyntaxErrorException; -import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; -public class ChoiceStmtTest { +public class ChoiceStmtTest extends AbstractModelTest { @Test - public void choiceAndCaseTest() throws ReactorException, YangSyntaxErrorException, URISyntaxException, IOException { - final SchemaContext result = StmtTestUtils.parseYangSources("/model"); - assertNotNull(result); - - final Module testModule = result.findModules("foo").iterator().next(); - assertNotNull(testModule); - - final ContainerSchemaNode container = (ContainerSchemaNode) testModule.getDataChildByName(QName.create( - testModule.getQNameModule(), "transfer")); - assertNotNull(container); - - final ChoiceSchemaNode choice = (ChoiceSchemaNode) container.getDataChildByName(QName.create( - testModule.getQNameModule(), "how")); - assertNotNull(choice); + public void choiceAndCaseTest() { + final ContainerSchemaNode container = (ContainerSchemaNode) FOO.getDataChildByName(fooQName("transfer")); + final ChoiceSchemaNode choice = (ChoiceSchemaNode) container.getDataChildByName(fooQName("how")); assertEquals(5, choice.getCases().size()); CaseSchemaNode caseNode = choice.findCaseNodes("input").iterator().next(); diff --git a/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/GroupingTest.java b/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/GroupingTest.java index 6f1e3e57c6..e9490ac20c 100644 --- a/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/GroupingTest.java +++ b/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/GroupingTest.java @@ -20,7 +20,6 @@ import java.util.Collection; import java.util.Map; import java.util.Optional; import org.eclipse.jdt.annotation.Nullable; -import org.junit.BeforeClass; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; @@ -48,26 +47,11 @@ import org.opendaylight.yangtools.yang.model.api.stmt.RefineEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant; import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement; -public class GroupingTest { - private static EffectiveModelContext CTX; - private static Module FOO; - private static Module BAZ; - - @BeforeClass - public static void beforeClass() throws Exception { - CTX = TestUtils.parseYangSources("/model"); - assertEquals(3, CTX.getModules().size()); - - FOO = Iterables.getOnlyElement(CTX.findModules("foo")); - BAZ = Iterables.getOnlyElement(CTX.findModules("baz")); - } - +public class GroupingTest extends AbstractModelTest { @Test public void testRefine() { - final ContainerSchemaNode peer = (ContainerSchemaNode) FOO.getDataChildByName(QName.create( - FOO.getQNameModule(), "peer")); - final ContainerSchemaNode destination = (ContainerSchemaNode) peer.getDataChildByName(QName.create( - FOO.getQNameModule(), "destination")); + final ContainerSchemaNode peer = (ContainerSchemaNode) FOO.getDataChildByName(fooQName("peer")); + final ContainerSchemaNode destination = (ContainerSchemaNode) peer.getDataChildByName(fooQName("destination")); final Collection usesNodes = destination.getUses(); assertEquals(1, usesNodes.size()); @@ -157,45 +141,33 @@ public class GroupingTest { final GroupingDefinition grouping = groupings.iterator().next(); // get node containing uses - final ContainerSchemaNode peer = (ContainerSchemaNode) FOO.getDataChildByName(QName.create( - FOO.getQNameModule(), "peer")); - final ContainerSchemaNode destination = (ContainerSchemaNode) peer.getDataChildByName(QName.create( - FOO.getQNameModule(), "destination")); + final ContainerSchemaNode peer = (ContainerSchemaNode) FOO.getDataChildByName(fooQName("peer")); + final ContainerSchemaNode destination = (ContainerSchemaNode) peer.getDataChildByName(fooQName("destination")); // check uses final Collection uses = destination.getUses(); assertEquals(1, uses.size()); // check uses process - final AnyxmlSchemaNode data_u = (AnyxmlSchemaNode) destination.getDataChildByName(QName.create( - FOO.getQNameModule(), "data")); - assertNotNull(data_u); + final AnyxmlSchemaNode data_u = (AnyxmlSchemaNode) destination.getDataChildByName(fooQName("data")); assertTrue(data_u.isAddedByUses()); - final AnyxmlSchemaNode data_g = (AnyxmlSchemaNode) grouping.getDataChildByName(QName.create( - BAZ.getQNameModule(), "data")); - assertNotNull(data_g); + final AnyxmlSchemaNode data_g = (AnyxmlSchemaNode) grouping.getDataChildByName(bazQName("data")); assertFalse(data_g.isAddedByUses()); assertFalse(data_u.equals(data_g)); assertEquals(data_g, extractOriginal(data_u)); - final ChoiceSchemaNode how_u = (ChoiceSchemaNode) destination.getDataChildByName(QName.create( - FOO.getQNameModule(), "how")); - assertNotNull(how_u); + final ChoiceSchemaNode how_u = (ChoiceSchemaNode) destination.getDataChildByName(fooQName("how")); assertIsAddedByUses(how_u, true); assertEquals(2, how_u.getCases().size()); - final ChoiceSchemaNode how_g = (ChoiceSchemaNode) grouping.getDataChildByName(QName.create( - BAZ.getQNameModule(), "how")); - assertNotNull(how_g); + final ChoiceSchemaNode how_g = (ChoiceSchemaNode) grouping.getDataChildByName(bazQName("how")); assertIsAddedByUses(how_g, false); assertEquals(2, how_g.getCases().size()); assertFalse(how_u.equals(how_g)); assertEquals(how_g, extractOriginal(how_u)); - final LeafSchemaNode address_u = (LeafSchemaNode) destination.getDataChildByName(QName.create( - FOO.getQNameModule(), "address")); - assertNotNull(address_u); + final LeafSchemaNode address_u = (LeafSchemaNode) destination.getDataChildByName(fooQName("address")); assertEquals(Optional.of("1.2.3.4"), address_u.getType().getDefaultValue()); assertEquals(Optional.of("IP address of target node"), address_u.getDescription()); assertEquals(Optional.of("address reference added by refine"), address_u.getReference()); @@ -203,9 +175,7 @@ public class GroupingTest { assertTrue(address_u.isAddedByUses()); assertFalse(address_u.isMandatory()); - final LeafSchemaNode address_g = (LeafSchemaNode) grouping.getDataChildByName(QName.create( - BAZ.getQNameModule(), "address")); - assertNotNull(address_g); + final LeafSchemaNode address_g = (LeafSchemaNode) grouping.getDataChildByName(bazQName("address")); assertFalse(address_g.isAddedByUses()); assertEquals(Optional.empty(), address_g.getType().getDefaultValue()); assertEquals(Optional.of("Target IP address"), address_g.getDescription()); @@ -215,26 +185,18 @@ public class GroupingTest { assertTrue(address_g.isMandatory()); assertEquals(address_g, extractOriginal(address_u)); - final ContainerSchemaNode port_u = (ContainerSchemaNode) destination.getDataChildByName(QName.create( - FOO.getQNameModule(), "port")); - assertNotNull(port_u); + final ContainerSchemaNode port_u = (ContainerSchemaNode) destination.getDataChildByName(fooQName("port")); assertIsAddedByUses(port_u, true); - final ContainerSchemaNode port_g = (ContainerSchemaNode) grouping.getDataChildByName(QName.create( - BAZ.getQNameModule(), "port")); - assertNotNull(port_g); + final ContainerSchemaNode port_g = (ContainerSchemaNode) grouping.getDataChildByName(bazQName("port")); assertIsAddedByUses(port_g, false); assertFalse(port_u.equals(port_g)); assertEquals(port_g, extractOriginal(port_u)); - final ListSchemaNode addresses_u = (ListSchemaNode) destination.getDataChildByName(QName.create( - FOO.getQNameModule(), "addresses")); - assertNotNull(addresses_u); + final ListSchemaNode addresses_u = (ListSchemaNode) destination.getDataChildByName(fooQName("addresses")); assertIsAddedByUses(addresses_u, true); - final ListSchemaNode addresses_g = (ListSchemaNode) grouping.getDataChildByName(QName.create( - BAZ.getQNameModule(), "addresses")); - assertNotNull(addresses_g); + final ListSchemaNode addresses_g = (ListSchemaNode) grouping.getDataChildByName(bazQName("addresses")); assertIsAddedByUses(addresses_g, false); assertFalse(addresses_u.equals(addresses_g)); assertEquals(addresses_g, extractOriginal(addresses_u)); @@ -269,53 +231,39 @@ public class GroupingTest { assertEquals(1, uses.size()); // check uses process - final AnyxmlSchemaNode data_u = (AnyxmlSchemaNode) FOO.getDataChildByName(QName.create(FOO.getQNameModule(), - "data")); - assertNotNull(data_u); + final AnyxmlSchemaNode data_u = (AnyxmlSchemaNode) FOO.getDataChildByName(fooQName("data")); assertTrue(data_u.isAddedByUses()); - final AnyxmlSchemaNode data_g = (AnyxmlSchemaNode) grouping.getDataChildByName(QName.create( - BAZ.getQNameModule(), "data")); - assertNotNull(data_g); + final AnyxmlSchemaNode data_g = (AnyxmlSchemaNode) grouping.getDataChildByName(bazQName("data")); assertFalse(data_g.isAddedByUses()); assertFalse(data_u.equals(data_g)); assertEquals(data_g, extractOriginal(data_u)); - final ChoiceSchemaNode how_u = (ChoiceSchemaNode) FOO.getDataChildByName(QName.create(FOO.getQNameModule(), - "how")); - assertNotNull(how_u); + final ChoiceSchemaNode how_u = (ChoiceSchemaNode) FOO.getDataChildByName(fooQName("how")); assertIsAddedByUses(how_u, true); assertFalse(how_u.isAugmenting()); final Collection cases_u = how_u.getCases(); assertEquals(2, cases_u.size()); final CaseSchemaNode interval = how_u.findCaseNodes("interval").iterator().next(); assertFalse(interval.isAugmenting()); - final LeafSchemaNode name = (LeafSchemaNode) interval.getDataChildByName(QName.create(FOO.getQNameModule(), - "name")); + final LeafSchemaNode name = (LeafSchemaNode) interval.getDataChildByName(fooQName("name")); assertTrue(name.isAugmenting()); - final LeafSchemaNode intervalLeaf = (LeafSchemaNode) interval.getDataChildByName(QName.create( - FOO.getQNameModule(), "interval")); + final LeafSchemaNode intervalLeaf = (LeafSchemaNode) interval.getDataChildByName(fooQName("interval")); assertFalse(intervalLeaf.isAugmenting()); - final ChoiceSchemaNode how_g = (ChoiceSchemaNode) grouping.getDataChildByName(QName.create( - BAZ.getQNameModule(), "how")); - assertNotNull(how_g); + final ChoiceSchemaNode how_g = (ChoiceSchemaNode) grouping.getDataChildByName(bazQName("how")); assertIsAddedByUses(how_g, false); assertFalse(how_u.equals(how_g)); assertEquals(how_g, extractOriginal(how_u)); - final LeafSchemaNode address_u = (LeafSchemaNode) FOO.getDataChildByName(QName.create(FOO.getQNameModule(), - "address")); - assertNotNull(address_u); + final LeafSchemaNode address_u = (LeafSchemaNode) FOO.getDataChildByName(fooQName("address")); assertEquals(Optional.empty(), address_u.getType().getDefaultValue()); assertEquals(Optional.of("Target IP address"), address_u.getDescription()); assertFalse(address_u.getReference().isPresent()); assertEquals(Optional.empty(), address_u.effectiveConfig()); assertTrue(address_u.isAddedByUses()); - final LeafSchemaNode address_g = (LeafSchemaNode) grouping.getDataChildByName(QName.create( - BAZ.getQNameModule(), "address")); - assertNotNull(address_g); + final LeafSchemaNode address_g = (LeafSchemaNode) grouping.getDataChildByName(bazQName("address")); assertFalse(address_g.isAddedByUses()); assertEquals(Optional.empty(), address_g.getType().getDefaultValue()); assertEquals(Optional.of("Target IP address"), address_g.getDescription()); @@ -324,26 +272,18 @@ public class GroupingTest { assertFalse(address_u.equals(address_g)); assertEquals(address_g, extractOriginal(address_u)); - final ContainerSchemaNode port_u = (ContainerSchemaNode) FOO.getDataChildByName(QName.create( - FOO.getQNameModule(), "port")); - assertNotNull(port_u); + final ContainerSchemaNode port_u = (ContainerSchemaNode) FOO.getDataChildByName(fooQName("port")); assertIsAddedByUses(port_u, true); - final ContainerSchemaNode port_g = (ContainerSchemaNode) grouping.getDataChildByName(QName.create( - BAZ.getQNameModule(), "port")); - assertNotNull(port_g); + final ContainerSchemaNode port_g = (ContainerSchemaNode) grouping.getDataChildByName(bazQName("port")); assertIsAddedByUses(port_g, false); assertFalse(port_u.equals(port_g)); assertEquals(port_g, extractOriginal(port_u)); - final ListSchemaNode addresses_u = (ListSchemaNode) FOO.getDataChildByName(QName.create(FOO.getQNameModule(), - "addresses")); - assertNotNull(addresses_u); + final ListSchemaNode addresses_u = (ListSchemaNode) FOO.getDataChildByName(fooQName("addresses")); assertIsAddedByUses(addresses_u, true); - final ListSchemaNode addresses_g = (ListSchemaNode) grouping.getDataChildByName(QName.create( - BAZ.getQNameModule(), "addresses")); - assertNotNull(addresses_g); + final ListSchemaNode addresses_g = (ListSchemaNode) grouping.getDataChildByName(bazQName("addresses")); assertIsAddedByUses(addresses_g, false); assertFalse(addresses_u.equals(addresses_g)); assertEquals(addresses_g, extractOriginal(addresses_u)); @@ -430,7 +370,6 @@ public class GroupingTest { final LeafSchemaNode leafGroupingU = (LeafSchemaNode) gu.getDataChildByName( QName.create(namespace, "leaf-grouping-U")); - assertNotNull(leafGroupingU); assertFalse(leafGroupingU.isAddedByUses()); assertNull(extractOriginal(leafGroupingU)); diff --git a/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/OrderingTest.java b/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/OrderingTest.java index b863ef6f3e..e861805730 100644 --- a/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/OrderingTest.java +++ b/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/OrderingTest.java @@ -11,10 +11,7 @@ import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import java.io.IOException; -import java.net.URISyntaxException; import java.util.Collection; -import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; @@ -22,29 +19,12 @@ import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; -import org.opendaylight.yangtools.yang.parser.api.YangSyntaxErrorException; -import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; - -public class OrderingTest { - - private SchemaContext context; - private Module foo; - private Module bar; - private Module baz; - - @Before - public void setup() throws ReactorException, IOException, YangSyntaxErrorException, URISyntaxException { - context = TestUtils.loadModules(getClass().getResource("/model").toURI()); - foo = context.findModules("foo").iterator().next(); - bar = context.findModules("bar").iterator().next(); - baz = context.findModules("baz").iterator().next(); - } +public class OrderingTest extends AbstractModelTest { @Test public void testOrderingTypedef() throws Exception { - final Collection> typedefs = bar.getTypeDefinitions(); + final Collection> typedefs = BAR.getTypeDefinitions(); final String[] expectedOrder = { "int32-ext1", "int32-ext2", "string-ext1", "string-ext2", "string-ext3", "string-ext4", "multiple-pattern-string", "my-decimal-type", "my-union", "my-union-ext", "nested-union2" }; @@ -61,7 +41,7 @@ public class OrderingTest { @Test public void testOrderingChildNodes() throws Exception { AugmentationSchemaNode augment1 = null; - for (final AugmentationSchemaNode as : foo.getAugmentations()) { + for (final AugmentationSchemaNode as : FOO.getAugmentations()) { if (as.getChildNodes().size() == 5) { augment1 = as; break; @@ -83,7 +63,7 @@ public class OrderingTest { @Test public void testOrderingNestedChildNodes1() throws Exception { - final Collection childNodes = foo.getChildNodes(); + final Collection childNodes = FOO.getChildNodes(); final String[] expectedOrder = { "int32-leaf", "string-leaf", "multiple-pattern-string-leaf", "multiple-pattern-direct-string-def-leaf", "length-leaf", "decimal-leaf", "decimal-leaf2", "ext", "union-leaf", "custom-union-leaf", "transfer", "datas", "mycont", "data", "how", "address", "port", @@ -101,7 +81,7 @@ public class OrderingTest { @Test public void testOrderingNestedChildNodes2() throws Exception { - final Collection groupings = baz.getGroupings(); + final Collection groupings = BAZ.getGroupings(); assertEquals(1, groupings.size()); final GroupingDefinition target = groupings.iterator().next(); diff --git a/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java b/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java index 501cf818f4..95d7d527af 100644 --- a/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java +++ b/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java @@ -25,10 +25,8 @@ import java.util.Iterator; import java.util.List; import java.util.Optional; import java.util.Set; -import org.junit.BeforeClass; 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.common.XMLNamespace; import org.opendaylight.yangtools.yang.common.YangVersion; @@ -44,7 +42,6 @@ import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition; import org.opendaylight.yangtools.yang.model.api.FeatureDefinition; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; -import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.ModuleImport; import org.opendaylight.yangtools.yang.model.api.NotificationDefinition; import org.opendaylight.yangtools.yang.model.api.RpcDefinition; @@ -70,60 +67,37 @@ import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource; import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor.BuildAction; -public class YangParserTest { - private static final QNameModule FOO = QNameModule.create(XMLNamespace.of("urn:opendaylight.foo"), - Revision.of("2013-02-27")); - private static final QNameModule BAR = QNameModule.create(XMLNamespace.of("urn:opendaylight.bar"), - Revision.of("2013-07-03")); - private static final QNameModule BAZ = QNameModule.create(XMLNamespace.of("urn:opendaylight.baz"), - Revision.of("2013-02-27")); - - private static SchemaContext CONTEXT; - private static Module foo; - private static Module bar; - private static Module baz; - - @BeforeClass - public static void beforeClass() throws Exception { - CONTEXT = TestUtils.loadModules("/model"); - foo = CONTEXT.findModules("foo").iterator().next(); - bar = CONTEXT.findModules("bar").iterator().next(); - baz = CONTEXT.findModules("baz").iterator().next(); - } - +public class YangParserTest extends AbstractModelTest { @Test public void testHeaders() throws ParseException { - assertEquals("foo", foo.getName()); - assertEquals(YangVersion.VERSION_1, foo.getYangVersion()); - assertEquals(FOO.getNamespace(), foo.getNamespace()); - assertEquals("foo", foo.getPrefix()); + assertEquals("foo", FOO.getName()); + assertEquals(YangVersion.VERSION_1, FOO.getYangVersion()); + assertEquals(XMLNamespace.of("urn:opendaylight.foo"), FOO.getNamespace()); + assertEquals("foo", FOO.getPrefix()); - final Collection imports = foo.getImports(); + final Collection imports = FOO.getImports(); assertEquals(2, imports.size()); final ModuleImport import2 = TestUtils.findImport(imports, "br"); assertEquals("bar", import2.getModuleName()); - assertEquals(BAR.getRevision(), import2.getRevision()); + assertEquals(Revision.ofNullable("2013-07-03"), import2.getRevision()); final ModuleImport import3 = TestUtils.findImport(imports, "bz"); assertEquals("baz", import3.getModuleName()); - assertEquals(BAZ.getRevision(), import3.getRevision()); + assertEquals(Revision.ofNullable("2013-02-27"), import3.getRevision()); - assertEquals(Optional.of("opendaylight"), foo.getOrganization()); - assertEquals(Optional.of("http://www.opendaylight.org/"), foo.getContact()); - assertEquals(Revision.ofNullable("2013-02-27"), foo.getRevision()); - assertFalse(foo.getReference().isPresent()); + assertEquals(Optional.of("opendaylight"), FOO.getOrganization()); + assertEquals(Optional.of("http://www.opendaylight.org/"), FOO.getContact()); + assertEquals(Revision.ofNullable("2013-02-27"), FOO.getRevision()); + assertFalse(FOO.getReference().isPresent()); } @Test public void testParseList() { - final ContainerSchemaNode interfaces = (ContainerSchemaNode) bar.getDataChildByName(QName.create( - bar.getQNameModule(), "interfaces")); - - final ListSchemaNode ifEntry = (ListSchemaNode) interfaces.getDataChildByName(QName.create(bar.getQNameModule(), - "ifEntry")); + final ContainerSchemaNode interfaces = (ContainerSchemaNode) BAR.getDataChildByName(barQName("interfaces")); + final ListSchemaNode ifEntry = (ListSchemaNode) interfaces.getDataChildByName(barQName("ifEntry")); // test SchemaNode args - assertEquals(QName.create(BAR, "ifEntry"), ifEntry.getQName()); + assertEquals(barQName("ifEntry"), ifEntry.getQName()); assertFalse(ifEntry.getDescription().isPresent()); assertFalse(ifEntry.getReference().isPresent()); @@ -144,7 +118,7 @@ public class YangParserTest { assertEquals(2, availableAugmentations.size()); // test ListSchemaNode args final List expectedKey = new ArrayList<>(); - expectedKey.add(QName.create(BAR, "ifIndex")); + expectedKey.add(barQName("ifIndex")); assertEquals(expectedKey, ifEntry.getKeyDefinition()); assertFalse(ifEntry.isUserOrdered()); // test DataNodeContainer args @@ -153,23 +127,20 @@ public class YangParserTest { assertEquals(0, ifEntry.getGroupings().size()); assertEquals(0, ifEntry.getUses().size()); - final LeafSchemaNode ifIndex = (LeafSchemaNode) ifEntry.getDataChildByName(QName.create(bar.getQNameModule(), - "ifIndex")); + final LeafSchemaNode ifIndex = (LeafSchemaNode) ifEntry.getDataChildByName(barQName("ifIndex")); assertEquals(ifEntry.getKeyDefinition().get(0), ifIndex.getQName()); assertTrue(ifIndex.getType() instanceof Uint32TypeDefinition); assertEquals(Optional.of("minutes"), ifIndex.getType().getUnits()); - final LeafSchemaNode ifMtu = (LeafSchemaNode) ifEntry.getDataChildByName(QName.create(bar.getQNameModule(), - "ifMtu")); + final LeafSchemaNode ifMtu = (LeafSchemaNode) ifEntry.getDataChildByName(barQName("ifMtu")); assertEquals(BaseTypes.int32Type(), ifMtu.getType()); } @Test public void testTypedefRangesResolving() throws ParseException { - final LeafSchemaNode int32Leaf = (LeafSchemaNode) foo.getDataChildByName(QName.create(foo.getQNameModule(), - "int32-leaf")); + final LeafSchemaNode int32Leaf = (LeafSchemaNode) FOO.getDataChildByName(fooQName("int32-leaf")); final Int32TypeDefinition leafType = (Int32TypeDefinition) int32Leaf.getType(); - assertEquals(QName.create(FOO, "int32-ext2"), leafType.getQName()); + assertEquals(fooQName("int32-ext2"), leafType.getQName()); assertEquals(Optional.of("mile"), leafType.getUnits()); assertEquals(Optional.of("11"), leafType.getDefaultValue()); @@ -182,7 +153,7 @@ public class YangParserTest { assertEquals(20, range.upperEndpoint().intValue()); final Int32TypeDefinition firstBaseType = leafType.getBaseType(); - assertEquals(QName.create(BAR, "int32-ext2"), firstBaseType.getQName()); + assertEquals(barQName("int32-ext2"), firstBaseType.getQName()); assertEquals(Optional.of("mile"), firstBaseType.getUnits()); assertEquals(Optional.of("11"), firstBaseType.getDefaultValue()); @@ -199,9 +170,7 @@ public class YangParserTest { assertEquals(20, baseTypeRange2.upperEndpoint().intValue()); final Int32TypeDefinition secondBaseType = firstBaseType.getBaseType(); - final QName baseQName = secondBaseType.getQName(); - assertEquals("int32-ext1", baseQName.getLocalName()); - assertEquals(BAR, baseQName.getModule()); + assertEquals(barQName("int32-ext1"), secondBaseType.getQName()); assertEquals(Optional.empty(), secondBaseType.getUnits()); assertEquals(Optional.empty(), secondBaseType.getDefaultValue()); @@ -217,14 +186,11 @@ public class YangParserTest { @Test public void testTypedefPatternsResolving() { - final LeafSchemaNode stringleaf = (LeafSchemaNode) foo.getDataChildByName(QName.create(foo.getQNameModule(), - "string-leaf")); + final LeafSchemaNode stringleaf = (LeafSchemaNode) FOO.getDataChildByName(fooQName("string-leaf")); assertTrue(stringleaf.getType() instanceof StringTypeDefinition); final StringTypeDefinition type = (StringTypeDefinition) stringleaf.getType(); - final QName typeQName = type.getQName(); - assertEquals("string-ext4", typeQName.getLocalName()); - assertEquals(BAR, typeQName.getModule()); + assertEquals(barQName("string-ext4"), type.getQName()); assertEquals(Optional.empty(), type.getUnits()); assertEquals(Optional.empty(), type.getDefaultValue()); List patterns = type.getPatternConstraints(); @@ -234,9 +200,7 @@ public class YangParserTest { assertEquals(1, type.getLengthConstraint().get().getAllowedRanges().asRanges().size()); final StringTypeDefinition baseType1 = type.getBaseType(); - final QName baseType1QName = baseType1.getQName(); - assertEquals("string-ext3", baseType1QName.getLocalName()); - assertEquals(BAR, baseType1QName.getModule()); + assertEquals(barQName("string-ext3"), baseType1.getQName()); assertEquals(Optional.empty(), baseType1.getUnits()); assertEquals(Optional.empty(), baseType1.getDefaultValue()); patterns = baseType1.getPatternConstraints(); @@ -246,9 +210,7 @@ public class YangParserTest { assertEquals(1, baseType1.getLengthConstraint().get().getAllowedRanges().asRanges().size()); final StringTypeDefinition baseType2 = baseType1.getBaseType(); - final QName baseType2QName = baseType2.getQName(); - assertEquals("string-ext2", baseType2QName.getLocalName()); - assertEquals(BAR, baseType2QName.getModule()); + assertEquals(barQName("string-ext2"), baseType2.getQName()); assertEquals(Optional.empty(), baseType2.getUnits()); assertEquals(Optional.empty(), baseType2.getDefaultValue()); assertTrue(baseType2.getPatternConstraints().isEmpty()); @@ -259,7 +221,7 @@ public class YangParserTest { assertEquals(10, length.upperEndpoint().intValue()); final StringTypeDefinition baseType3 = baseType2.getBaseType(); - assertEquals(QName.create(BAR, "string-ext1"), baseType3.getQName()); + assertEquals(barQName("string-ext1"), baseType3.getQName()); assertEquals(Optional.empty(), baseType3.getUnits()); assertEquals(Optional.empty(), baseType3.getDefaultValue()); patterns = baseType3.getPatternConstraints(); @@ -277,10 +239,10 @@ public class YangParserTest { @Test public void testTypedefInvalidPatternsResolving() { - final LeafSchemaNode multiplePatternStringLeaf = (LeafSchemaNode) foo - .getDataChildByName(QName.create(foo.getQNameModule(), "multiple-pattern-string-leaf")); + final LeafSchemaNode multiplePatternStringLeaf = (LeafSchemaNode) FOO.getDataChildByName( + fooQName("multiple-pattern-string-leaf")); StringTypeDefinition type = (StringTypeDefinition) multiplePatternStringLeaf.getType(); - assertEquals(QName.create(BAR, "multiple-pattern-string"), type.getQName()); + assertEquals(barQName("multiple-pattern-string"), type.getQName()); assertEquals(Optional.empty(), type.getUnits()); assertEquals(Optional.empty(), type.getDefaultValue()); List patterns = type.getPatternConstraints(); @@ -289,10 +251,10 @@ public class YangParserTest { assertEquals("^(?:[e-z]*)$", patterns.get(1).getJavaPatternString()); assertEquals(1, type.getLengthConstraint().get().getAllowedRanges().asRanges().size()); - final LeafSchemaNode multiplePatternDirectStringDefLeaf = (LeafSchemaNode) foo - .getDataChildByName(QName.create(foo.getQNameModule(), "multiple-pattern-direct-string-def-leaf")); + final LeafSchemaNode multiplePatternDirectStringDefLeaf = (LeafSchemaNode) FOO.getDataChildByName( + fooQName("multiple-pattern-direct-string-def-leaf")); type = (StringTypeDefinition) multiplePatternDirectStringDefLeaf.getType(); - assertEquals(QName.create(FOO, "string"), type.getQName()); + assertEquals(fooQName("string"), type.getQName()); assertEquals(Optional.empty(), type.getUnits()); assertEquals(Optional.empty(), type.getDefaultValue()); patterns = type.getPatternConstraints(); @@ -305,11 +267,10 @@ public class YangParserTest { @Test public void testTypedefLengthsResolving() { - final LeafSchemaNode lengthLeaf = (LeafSchemaNode) foo.getDataChildByName(QName.create(foo.getQNameModule(), - "length-leaf")); + final LeafSchemaNode lengthLeaf = (LeafSchemaNode) FOO.getDataChildByName(fooQName("length-leaf")); final StringTypeDefinition type = (StringTypeDefinition) lengthLeaf.getType(); - assertEquals(QName.create(FOO, "string-ext2"), type.getQName()); + assertEquals(fooQName("string-ext2"), type.getQName()); assertEquals(Optional.empty(), type.getUnits()); assertEquals(Optional.empty(), type.getDefaultValue()); assertTrue(type.getPatternConstraints().isEmpty()); @@ -320,7 +281,7 @@ public class YangParserTest { assertEquals(10, length.upperEndpoint().intValue()); final StringTypeDefinition baseType1 = type.getBaseType(); - assertEquals(QName.create(BAR, "string-ext2"), baseType1.getQName()); + assertEquals(barQName("string-ext2"), baseType1.getQName()); assertEquals(Optional.empty(), baseType1.getUnits()); assertEquals(Optional.empty(), baseType1.getDefaultValue()); assertTrue(baseType1.getPatternConstraints().isEmpty()); @@ -331,7 +292,7 @@ public class YangParserTest { assertEquals(10, length.upperEndpoint().intValue()); final StringTypeDefinition baseType2 = baseType1.getBaseType(); - assertEquals(QName.create(BAR, "string-ext1"), baseType2.getQName()); + assertEquals(barQName("string-ext1"), baseType2.getQName()); assertEquals(Optional.empty(), baseType2.getUnits()); assertEquals(Optional.empty(), baseType2.getDefaultValue()); final List patterns = baseType2.getPatternConstraints(); @@ -349,19 +310,18 @@ public class YangParserTest { @Test public void testTypedefDecimal1() { - final LeafSchemaNode testleaf = (LeafSchemaNode) foo.getDataChildByName(QName.create(foo.getQNameModule(), - "decimal-leaf")); + final LeafSchemaNode testleaf = (LeafSchemaNode) FOO.getDataChildByName(fooQName("decimal-leaf")); assertTrue(testleaf.getType() instanceof DecimalTypeDefinition); final DecimalTypeDefinition type = (DecimalTypeDefinition) testleaf.getType(); - assertEquals(QName.create(BAR, "my-decimal-type"), type.getQName()); + assertEquals(barQName("my-decimal-type"), type.getQName()); assertEquals(Optional.empty(), type.getUnits()); assertEquals(Optional.empty(), type.getDefaultValue()); assertEquals(6, type.getFractionDigits()); assertEquals(1, type.getRangeConstraint().get().getAllowedRanges().asRanges().size()); final DecimalTypeDefinition typeBase = type.getBaseType(); - assertEquals(QName.create(BAR, "decimal64"), typeBase.getQName()); + assertEquals(barQName("decimal64"), typeBase.getQName()); assertEquals(Optional.empty(), typeBase.getUnits()); assertEquals(Optional.empty(), typeBase.getDefaultValue()); assertEquals(6, typeBase.getFractionDigits()); @@ -372,12 +332,11 @@ public class YangParserTest { @Test public void testTypedefDecimal2() { - final LeafSchemaNode testleaf = (LeafSchemaNode) foo.getDataChildByName(QName.create(foo.getQNameModule(), - "decimal-leaf2")); + final LeafSchemaNode testleaf = (LeafSchemaNode) FOO.getDataChildByName(fooQName("decimal-leaf2")); assertTrue(testleaf.getType() instanceof DecimalTypeDefinition); final DecimalTypeDefinition type = (DecimalTypeDefinition) testleaf.getType(); - assertEquals(QName.create(BAR, "my-decimal-type"), type.getQName()); + assertEquals(barQName("my-decimal-type"), type.getQName()); assertEquals(Optional.empty(), type.getUnits()); assertEquals(Optional.empty(), type.getDefaultValue()); assertEquals(6, type.getFractionDigits()); @@ -389,17 +348,16 @@ public class YangParserTest { @Test public void testTypedefUnion() { - final LeafSchemaNode unionleaf = (LeafSchemaNode) foo.getDataChildByName(QName.create(foo.getQNameModule(), - "union-leaf")); + final LeafSchemaNode unionleaf = (LeafSchemaNode) FOO.getDataChildByName(fooQName("union-leaf")); assertTrue(unionleaf.getType() instanceof UnionTypeDefinition); final UnionTypeDefinition type = (UnionTypeDefinition) unionleaf.getType(); - assertEquals(QName.create(BAR, "my-union-ext"), type.getQName()); + assertEquals(barQName("my-union-ext"), type.getQName()); assertEquals(Optional.empty(), type.getUnits()); assertEquals(Optional.empty(), type.getDefaultValue()); final UnionTypeDefinition baseType = type.getBaseType(); - assertEquals(QName.create(BAR, "my-union"), baseType.getQName()); + assertEquals(barQName("my-union"), baseType.getQName()); assertEquals(Optional.empty(), baseType.getUnits()); assertEquals(Optional.empty(), baseType.getDefaultValue()); @@ -408,7 +366,7 @@ public class YangParserTest { assertEquals(2, unionTypes.size()); final Int16TypeDefinition unionType1 = (Int16TypeDefinition) unionTypes.get(0); - assertEquals(QName.create(BAR, "my-union"), baseType.getQName()); + assertEquals(barQName("my-union"), baseType.getQName()); assertEquals(Optional.empty(), unionType1.getUnits()); assertEquals(Optional.empty(), unionType1.getDefaultValue()); @@ -424,17 +382,16 @@ public class YangParserTest { @Test public void testNestedUnionResolving() { - final LeafSchemaNode testleaf = (LeafSchemaNode) foo.getDataChildByName(QName.create(foo.getQNameModule(), - "custom-union-leaf")); + final LeafSchemaNode testleaf = (LeafSchemaNode) FOO.getDataChildByName(fooQName("custom-union-leaf")); assertTrue(testleaf.getType() instanceof UnionTypeDefinition); final UnionTypeDefinition type = (UnionTypeDefinition) testleaf.getType(); - assertEquals(QName.create(BAZ, "union1"), type.getQName()); + assertEquals(bazQName("union1"), type.getQName()); assertEquals(Optional.empty(), type.getUnits()); assertEquals(Optional.empty(), type.getDefaultValue()); final UnionTypeDefinition typeBase = type.getBaseType(); - assertEquals(QName.create(BAZ, "union2"), typeBase.getQName()); + assertEquals(bazQName("union2"), typeBase.getQName()); assertEquals(Optional.empty(), typeBase.getUnits()); assertEquals(Optional.empty(), typeBase.getDefaultValue()); @@ -445,7 +402,7 @@ public class YangParserTest { assertTrue(unionTypes.get(1) instanceof UnionTypeDefinition); final UnionTypeDefinition unionType1 = (UnionTypeDefinition) unionTypes.get(1); - assertEquals(QName.create(BAR, "nested-union2"), unionType1.getQName()); + assertEquals(barQName("nested-union2"), unionType1.getQName()); assertEquals(Optional.empty(), unionType1.getUnits()); assertEquals(Optional.empty(), unionType1.getDefaultValue()); @@ -456,13 +413,13 @@ public class YangParserTest { assertTrue(nestedUnion2Types.get(0) instanceof UnionTypeDefinition); final UnionTypeDefinition myUnionExt = (UnionTypeDefinition) nestedUnion2Types.get(0); - assertEquals(QName.create(BAR, "my-union-ext"), myUnionExt.getQName()); + assertEquals(barQName("my-union-ext"), myUnionExt.getQName()); assertEquals(Optional.empty(), myUnionExt.getUnits()); assertEquals(Optional.empty(), myUnionExt.getDefaultValue()); final UnionTypeDefinition myUnion = myUnionExt.getBaseType(); - assertEquals(QName.create(BAR, "my-union"), myUnion.getQName()); + assertEquals(barQName("my-union"), myUnion.getQName()); assertEquals(Optional.empty(), myUnion.getUnits()); assertEquals(Optional.empty(), myUnion.getDefaultValue()); @@ -488,10 +445,8 @@ public class YangParserTest { @Test public void testChoice() { - final ContainerSchemaNode transfer = (ContainerSchemaNode) foo.getDataChildByName( - QName.create(foo.getQNameModule(), "transfer")); - final ChoiceSchemaNode how = (ChoiceSchemaNode) transfer.getDataChildByName( - QName.create(foo.getQNameModule(), "how")); + final ContainerSchemaNode transfer = (ContainerSchemaNode) FOO.getDataChildByName(fooQName("transfer")); + final ChoiceSchemaNode how = (ChoiceSchemaNode) transfer.getDataChildByName(fooQName("how")); final Collection cases = how.getCases(); assertEquals(5, cases.size()); CaseSchemaNode input = null; @@ -509,19 +464,18 @@ public class YangParserTest { @Test public void testDeviation() { - final Collection deviations = foo.getDeviations(); + final Collection deviations = FOO.getDeviations(); assertEquals(1, deviations.size()); final Deviation dev = deviations.iterator().next(); assertEquals(Optional.of("system/user ref"), dev.getReference()); - assertEquals(Absolute.of(QName.create(BAR, "interfaces"), QName.create(BAR, "ifEntry")), dev.getTargetPath()); + assertEquals(Absolute.of(barQName("interfaces"), barQName("ifEntry")), dev.getTargetPath()); assertEquals(DeviateKind.ADD, dev.getDeviates().iterator().next().getDeviateType()); } @Test public void testUnknownNode() { - final ContainerSchemaNode network = (ContainerSchemaNode) baz.getDataChildByName( - QName.create(baz.getQNameModule(), "network")); + final ContainerSchemaNode network = (ContainerSchemaNode) BAZ.getDataChildByName(bazQName("network")); final Collection unknownNodes = network.asEffectiveStatement().getDeclared() .declaredSubstatements(UnrecognizedStatement.class); assertEquals(1, unknownNodes.size()); @@ -530,13 +484,13 @@ public class YangParserTest { @Test public void testFeature() { - final Collection features = baz.getFeatures(); + final Collection features = BAZ.getFeatures(); assertEquals(3, features.size()); } @Test public void testExtension() { - final Collection extensions = baz.getExtensionSchemaNodes(); + final Collection extensions = BAZ.getExtensionSchemaNodes(); assertEquals(1, extensions.size()); final ExtensionDefinition extension = extensions.iterator().next(); assertEquals("name", extension.getArgument()); @@ -548,12 +502,12 @@ public class YangParserTest { @Test public void testNotification() { - final Collection notifications = baz.getNotifications(); + final Collection notifications = BAZ.getNotifications(); assertEquals(1, notifications.size()); final NotificationDefinition notification = notifications.iterator().next(); // test SchemaNode args - assertEquals(QName.create(BAZ, "event"), notification.getQName()); + assertEquals(bazQName("event"), notification.getQName()); assertFalse(notification.getDescription().isPresent()); assertFalse(notification.getReference().isPresent()); assertEquals(Status.CURRENT, notification.getStatus()); @@ -564,17 +518,15 @@ public class YangParserTest { assertEquals(0, notification.getGroupings().size()); assertEquals(0, notification.getUses().size()); - final LeafSchemaNode eventClass = (LeafSchemaNode) notification.getDataChildByName( - QName.create(baz.getQNameModule(), "event-class")); + final LeafSchemaNode eventClass = (LeafSchemaNode) notification.getDataChildByName(bazQName("event-class")); assertTrue(eventClass.getType() instanceof StringTypeDefinition); - final LeafSchemaNode severity = (LeafSchemaNode) notification.getDataChildByName( - QName.create(baz.getQNameModule(), "severity")); + final LeafSchemaNode severity = (LeafSchemaNode) notification.getDataChildByName(bazQName("severity")); assertTrue(severity.getType() instanceof StringTypeDefinition); } @Test public void testRpc() { - final Collection rpcs = baz.getRpcs(); + final Collection rpcs = BAZ.getRpcs(); assertEquals(1, rpcs.size()); final RpcDefinition rpc = rpcs.iterator().next(); @@ -584,11 +536,11 @@ public class YangParserTest { @Test public void testTypePath() throws ParseException { - final Collection> types = bar.getTypeDefinitions(); + final Collection> types = BAR.getTypeDefinitions(); // int32-ext1 final Int32TypeDefinition int32ext1 = (Int32TypeDefinition) TestUtils.findTypedef(types, "int32-ext1"); - assertEquals(QName.create(BAR, "int32-ext1"), int32ext1.getQName()); + assertEquals(barQName("int32-ext1"), int32ext1.getQName()); // int32-ext1/int32 assertEquals(BaseTypes.int32Type(), int32ext1.getBaseType()); @@ -596,62 +548,27 @@ public class YangParserTest { @Test public void testTypePath2() throws ParseException { - final Collection> types = bar.getTypeDefinitions(); + final Collection> types = BAR.getTypeDefinitions(); // my-decimal-type final DecimalTypeDefinition myDecType = (DecimalTypeDefinition) TestUtils.findTypedef(types, "my-decimal-type"); - final QName myDecTypeQName = myDecType.getQName(); - - assertEquals(BAR, myDecTypeQName.getModule()); - assertEquals("my-decimal-type", myDecTypeQName.getLocalName()); + assertEquals(barQName("my-decimal-type"), myDecType.getQName()); // my-base-int32-type/int32 - final DecimalTypeDefinition dec64 = myDecType.getBaseType(); - final QName dec64QName = dec64.getQName(); - - assertEquals(BAR, dec64QName.getModule()); - assertEquals("decimal64", dec64QName.getLocalName()); - } - - private static void checkOrder(final Collection modules) { - final Iterator it = modules.iterator(); - Module module = it.next(); - assertEquals("m2", module.getName()); - module = it.next(); - assertEquals("m4", module.getName()); - module = it.next(); - assertEquals("m6", module.getName()); - module = it.next(); - assertEquals("m8", module.getName()); - module = it.next(); - assertEquals("m7", module.getName()); - module = it.next(); - assertEquals("m5", module.getName()); - module = it.next(); - assertEquals("m3", module.getName()); - module = it.next(); - assertEquals("m1", module.getName()); - } - - private static void assertSetEquals(final Set s1, final Set s2) { - assertEquals(s1, s2); - final Iterator it = s1.iterator(); - for (final Module m : s2) { - assertEquals(m, it.next()); - } + assertEquals(barQName("decimal64"), myDecType.getBaseType().getQName()); } @Test public void testSubmodules() { - final DataSchemaNode id = foo.getDataChildByName(QName.create(foo.getQNameModule(), "id")); + final DataSchemaNode id = FOO.getDataChildByName(fooQName("id")); assertNotNull(id); - final DataSchemaNode subExt = foo.getDataChildByName(QName.create(foo.getQNameModule(), "sub-ext")); + final DataSchemaNode subExt = FOO.getDataChildByName(fooQName("sub-ext")); assertNotNull(subExt); - final DataSchemaNode subTransfer = foo.getDataChildByName(QName.create(foo.getQNameModule(), "sub-transfer")); + final DataSchemaNode subTransfer = FOO.getDataChildByName(fooQName("sub-transfer")); assertNotNull(subTransfer); - assertEquals(2, foo.getExtensionSchemaNodes().size()); - assertEquals(2, foo.getAugmentations().size()); + assertEquals(2, FOO.getExtensionSchemaNodes().size()); + assertEquals(2, FOO.getAugmentations().size()); } @Test @@ -672,7 +589,7 @@ public class YangParserTest { @Test public void unknownStatementsInStatementsTest() { - + // FIXME: use a utility for this loading final StatementStreamSource yangFile1 = sourceForResource( "/yang-grammar-test/stmtsep-in-statements.yang"); final StatementStreamSource yangFile2 = sourceForResource( @@ -691,5 +608,4 @@ public class YangParserTest { assertTrue(e.getCause().getMessage().startsWith("aaa is not a YANG statement or use of extension")); } } - }