X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-rfc7950%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fstmt%2FYangParserTest.java;h=517e58fb733d464279379d124b81879a8743fa39;hb=de729828fea23328647b2cc169fad665e9934bee;hp=4c8298bd19b939746bf021ba7d0ade14ac1192ab;hpb=1cc6359e5bae1459582e9262a24ca56f23bcc70f;p=yangtools.git diff --git a/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java b/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java index 4c8298bd19..517e58fb73 100644 --- a/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java +++ b/yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java @@ -26,16 +26,14 @@ import java.util.Iterator; import java.util.List; import java.util.Optional; import java.util.Set; -import java.util.SortedMap; import org.junit.Before; 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.YangConstants; import org.opendaylight.yangtools.yang.common.YangVersion; import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; -import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode; +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.DataSchemaNode; @@ -55,6 +53,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; +import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute; import org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.Int16TypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.Int32TypeDefinition; @@ -99,7 +98,7 @@ public class YangParserTest { assertEquals(FOO.getNamespace(), foo.getNamespace()); assertEquals("foo", foo.getPrefix()); - final Set imports = foo.getImports(); + final Collection imports = foo.getImports(); assertEquals(2, imports.size()); final ModuleImport import2 = TestUtils.findImport(imports, "br"); @@ -140,10 +139,10 @@ public class YangParserTest { // assertNull(constraints.getWhenCondition()); assertEquals(0, ifEntry.getMustConstraints().size()); ElementCountConstraint constraints = ifEntry.getElementCountConstraint().get(); - assertEquals(1, constraints.getMinElements().intValue()); - assertEquals(11, constraints.getMaxElements().intValue()); + assertEquals((Object) 1, constraints.getMinElements()); + assertEquals((Object) 11, constraints.getMaxElements()); // test AugmentationTarget args - final Set availableAugmentations = ifEntry.getAvailableAugmentations(); + final Collection availableAugmentations = ifEntry.getAvailableAugmentations(); assertEquals(2, availableAugmentations.size()); // test ListSchemaNode args final List expectedKey = new ArrayList<>(); @@ -233,7 +232,7 @@ public class YangParserTest { List patterns = type.getPatternConstraints(); assertEquals(1, patterns.size()); PatternConstraint pattern = patterns.iterator().next(); - assertEquals("^[e-z]*$", pattern.getJavaPatternString()); + assertEquals("^(?:[e-z]*)$", pattern.getJavaPatternString()); assertEquals(1, type.getLengthConstraint().get().getAllowedRanges().asRanges().size()); final StringTypeDefinition baseType1 = type.getBaseType(); @@ -245,7 +244,7 @@ public class YangParserTest { patterns = baseType1.getPatternConstraints(); assertEquals(1, patterns.size()); pattern = patterns.iterator().next(); - assertEquals("^[b-u]*$", pattern.getJavaPatternString()); + assertEquals("^(?:[b-u]*)$", pattern.getJavaPatternString()); assertEquals(1, baseType1.getLengthConstraint().get().getAllowedRanges().asRanges().size()); final StringTypeDefinition baseType2 = baseType1.getBaseType(); @@ -268,7 +267,7 @@ public class YangParserTest { patterns = baseType3.getPatternConstraints(); assertEquals(1, patterns.size()); pattern = patterns.iterator().next(); - assertEquals("^[a-k]*$", pattern.getJavaPatternString()); + assertEquals("^(?:[a-k]*)$", pattern.getJavaPatternString()); final RangeSet baseType3Lengths = baseType3.getLengthConstraint().get().getAllowedRanges(); assertEquals(1, baseType3Lengths.asRanges().size()); length = baseType3Lengths.span(); @@ -280,36 +279,16 @@ public class YangParserTest { @Test public void testTypedefInvalidPatternsResolving() { - final LeafSchemaNode invalidPatternStringLeaf = (LeafSchemaNode) foo - .getDataChildByName(QName.create(foo.getQNameModule(), "invalid-pattern-string-leaf")); - StringTypeDefinition type = (StringTypeDefinition) invalidPatternStringLeaf.getType(); - assertEquals(QName.create(BAR, "invalid-string-pattern"), type.getQName()); - assertEquals(Optional.empty(), type.getUnits()); - assertEquals(Optional.empty(), type.getDefaultValue()); - List patterns = type.getPatternConstraints(); - assertTrue(patterns.isEmpty()); - - final LeafSchemaNode invalidDirectStringPatternDefLeaf = (LeafSchemaNode) foo - .getDataChildByName(QName.create(foo.getQNameModule(), "invalid-direct-string-pattern-def-leaf")); - type = (StringTypeDefinition) invalidDirectStringPatternDefLeaf.getType(); - - assertEquals(QName.create(YangConstants.RFC6020_YANG_MODULE, "string"), type.getQName()); - assertEquals(Optional.empty(), type.getUnits()); - assertEquals(Optional.empty(), type.getDefaultValue()); - patterns = type.getPatternConstraints(); - assertTrue(patterns.isEmpty()); - final LeafSchemaNode multiplePatternStringLeaf = (LeafSchemaNode) foo .getDataChildByName(QName.create(foo.getQNameModule(), "multiple-pattern-string-leaf")); - type = (StringTypeDefinition) multiplePatternStringLeaf.getType(); + StringTypeDefinition type = (StringTypeDefinition) multiplePatternStringLeaf.getType(); assertEquals(QName.create(BAR, "multiple-pattern-string"), type.getQName()); assertEquals(Optional.empty(), type.getUnits()); assertEquals(Optional.empty(), type.getDefaultValue()); - patterns = type.getPatternConstraints(); - assertTrue(!patterns.isEmpty()); - assertEquals(1, patterns.size()); - final PatternConstraint pattern = patterns.iterator().next(); - assertEquals("^[e-z]*$", pattern.getJavaPatternString()); + List patterns = type.getPatternConstraints(); + assertEquals(2, patterns.size()); + assertEquals("^(?:[A-Z]*-%22!\\^\\^)$", patterns.get(0).getJavaPatternString()); + assertEquals("^(?:[e-z]*)$", patterns.get(1).getJavaPatternString()); assertEquals(1, type.getLengthConstraint().get().getAllowedRanges().asRanges().size()); final LeafSchemaNode multiplePatternDirectStringDefLeaf = (LeafSchemaNode) foo @@ -319,20 +298,11 @@ public class YangParserTest { assertEquals(Optional.empty(), type.getUnits()); assertEquals(Optional.empty(), type.getDefaultValue()); patterns = type.getPatternConstraints(); - assertTrue(!patterns.isEmpty()); - assertEquals(2, patterns.size()); + assertEquals(3, patterns.size()); - boolean isEZPattern = false; - boolean isADPattern = false; - for (final PatternConstraint patternConstraint : patterns) { - if (patternConstraint.getJavaPatternString().equals("^[e-z]*$")) { - isEZPattern = true; - } else if (patternConstraint.getJavaPatternString().equals("^[a-d]*$")) { - isADPattern = true; - } - } - assertTrue(isEZPattern); - assertTrue(isADPattern); + assertEquals("^(?:[e-z]*)$", patterns.get(0).getJavaPatternString()); + assertEquals("^(?:[A-Z]*-%22!\\^\\^})$", patterns.get(1).getJavaPatternString()); + assertEquals("^(?:[a-d]*)$", patterns.get(2).getJavaPatternString()); } @Test @@ -369,7 +339,7 @@ public class YangParserTest { final List patterns = baseType2.getPatternConstraints(); assertEquals(1, patterns.size()); final PatternConstraint pattern = patterns.iterator().next(); - assertEquals("^[a-k]*$", pattern.getJavaPatternString()); + assertEquals("^(?:[a-k]*)$", pattern.getJavaPatternString()); final RangeSet baseType3Lengths = baseType2.getLengthConstraint().get().getAllowedRanges(); assertEquals(1, baseType3Lengths.asRanges().size()); length = baseType3Lengths.span(); @@ -524,11 +494,11 @@ public class YangParserTest { QName.create(foo.getQNameModule(), "transfer")); final ChoiceSchemaNode how = (ChoiceSchemaNode) transfer.getDataChildByName( QName.create(foo.getQNameModule(), "how")); - final SortedMap cases = how.getCases(); + final Collection cases = how.getCases(); assertEquals(5, cases.size()); - ChoiceCaseNode input = null; - ChoiceCaseNode output = null; - for (final ChoiceCaseNode caseNode : cases.values()) { + CaseSchemaNode input = null; + CaseSchemaNode output = null; + for (final CaseSchemaNode caseNode : cases) { if ("input".equals(caseNode.getQName().getLocalName())) { input = caseNode; } else if ("output".equals(caseNode.getQName().getLocalName())) { @@ -543,16 +513,12 @@ public class YangParserTest { @Test public void testDeviation() { - final Set 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()); - final SchemaPath expectedPath = SchemaPath.create(true, - QName.create(BAR, "interfaces"), - QName.create(BAR, "ifEntry")); - - assertEquals(expectedPath, dev.getTargetPath()); + assertEquals(Absolute.of(QName.create(BAR, "interfaces"), QName.create(BAR, "ifEntry")), dev.getTargetPath()); assertEquals(DeviateKind.ADD, dev.getDeviates().iterator().next().getDeviateType()); } @@ -560,24 +526,24 @@ public class YangParserTest { public void testUnknownNode() { final ContainerSchemaNode network = (ContainerSchemaNode) baz.getDataChildByName( QName.create(baz.getQNameModule(), "network")); - final List unknownNodes = network.getUnknownSchemaNodes(); + final Collection unknownNodes = network.getUnknownSchemaNodes(); assertEquals(1, unknownNodes.size()); - final UnknownSchemaNode unknownNode = unknownNodes.get(0); + final UnknownSchemaNode unknownNode = unknownNodes.iterator().next(); assertNotNull(unknownNode.getNodeType()); assertEquals("point", unknownNode.getNodeParameter()); } @Test public void testFeature() { - final Set features = baz.getFeatures(); - assertEquals(1, features.size()); + final Collection features = baz.getFeatures(); + assertEquals(3, features.size()); } @Test public void testExtension() { - final List extensions = baz.getExtensionSchemaNodes(); + final Collection extensions = baz.getExtensionSchemaNodes(); assertEquals(1, extensions.size()); - final ExtensionDefinition extension = extensions.get(0); + final ExtensionDefinition extension = extensions.iterator().next(); assertEquals("name", extension.getArgument()); assertEquals( Optional.of("Takes as argument a name string. Makes the code generator use the given name in the #define."), @@ -587,7 +553,7 @@ public class YangParserTest { @Test public void testNotification() { - final Set notifications = baz.getNotifications(); + final Collection notifications = baz.getNotifications(); assertEquals(1, notifications.size()); final NotificationDefinition notification = notifications.iterator().next(); @@ -615,7 +581,7 @@ public class YangParserTest { @Test public void testRpc() { - final Set rpcs = baz.getRpcs(); + final Collection rpcs = baz.getRpcs(); assertEquals(1, rpcs.size()); final RpcDefinition rpc = rpcs.iterator().next(); @@ -625,7 +591,7 @@ public class YangParserTest { @Test public void testTypePath() throws ParseException { - final Set> types = bar.getTypeDefinitions(); + final Collection> types = bar.getTypeDefinitions(); // int32-ext1 final Int32TypeDefinition int32ext1 = (Int32TypeDefinition) TestUtils.findTypedef(types, "int32-ext1"); @@ -645,7 +611,7 @@ public class YangParserTest { @Test public void testTypePath2() throws ParseException { - final Set> types = bar.getTypeDefinitions(); + final Collection> types = bar.getTypeDefinitions(); // my-decimal-type final DecimalTypeDefinition myDecType = (DecimalTypeDefinition) TestUtils.findTypedef(types, "my-decimal-type");