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;
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;
assertEquals(FOO.getNamespace(), foo.getNamespace());
assertEquals("foo", foo.getPrefix());
- final Set<ModuleImport> imports = foo.getImports();
+ final Collection<? extends ModuleImport> imports = foo.getImports();
assertEquals(2, imports.size());
final ModuleImport import2 = TestUtils.findImport(imports, "br");
// 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<AugmentationSchemaNode> availableAugmentations = ifEntry.getAvailableAugmentations();
+ final Collection<? extends AugmentationSchemaNode> availableAugmentations = ifEntry.getAvailableAugmentations();
assertEquals(2, availableAugmentations.size());
// test ListSchemaNode args
final List<QName> expectedKey = new ArrayList<>();
List<PatternConstraint> 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();
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();
patterns = baseType3.getPatternConstraints();
assertEquals(1, patterns.size());
pattern = patterns.iterator().next();
- assertEquals("^[a-k]*$", pattern.getJavaPatternString());
+ assertEquals("^(?:[a-k]*)$", pattern.getJavaPatternString());
final RangeSet<Integer> baseType3Lengths = baseType3.getLengthConstraint().get().getAllowedRanges();
assertEquals(1, baseType3Lengths.asRanges().size());
length = baseType3Lengths.span();
@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<PatternConstraint> 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<PatternConstraint> 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
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
final List<PatternConstraint> 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<Integer> baseType3Lengths = baseType2.getLengthConstraint().get().getAllowedRanges();
assertEquals(1, baseType3Lengths.asRanges().size());
length = baseType3Lengths.span();
QName.create(foo.getQNameModule(), "transfer"));
final ChoiceSchemaNode how = (ChoiceSchemaNode) transfer.getDataChildByName(
QName.create(foo.getQNameModule(), "how"));
- final SortedMap<QName, ChoiceCaseNode> cases = how.getCases();
+ final Collection<? extends CaseSchemaNode> 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())) {
@Test
public void testDeviation() {
- final Set<Deviation> deviations = foo.getDeviations();
+ final Collection<? extends Deviation> 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());
}
public void testUnknownNode() {
final ContainerSchemaNode network = (ContainerSchemaNode) baz.getDataChildByName(
QName.create(baz.getQNameModule(), "network"));
- final List<UnknownSchemaNode> unknownNodes = network.getUnknownSchemaNodes();
+ final Collection<? extends UnknownSchemaNode> 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<FeatureDefinition> features = baz.getFeatures();
- assertEquals(1, features.size());
+ final Collection<? extends FeatureDefinition> features = baz.getFeatures();
+ assertEquals(3, features.size());
}
@Test
public void testExtension() {
- final List<ExtensionDefinition> extensions = baz.getExtensionSchemaNodes();
+ final Collection<? extends ExtensionDefinition> 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."),
@Test
public void testNotification() {
- final Set<NotificationDefinition> notifications = baz.getNotifications();
+ final Collection<? extends NotificationDefinition> notifications = baz.getNotifications();
assertEquals(1, notifications.size());
final NotificationDefinition notification = notifications.iterator().next();
@Test
public void testRpc() {
- final Set<RpcDefinition> rpcs = baz.getRpcs();
+ final Collection<? extends RpcDefinition> rpcs = baz.getRpcs();
assertEquals(1, rpcs.size());
final RpcDefinition rpc = rpcs.iterator().next();
@Test
public void testTypePath() throws ParseException {
- final Set<TypeDefinition<?>> types = bar.getTypeDefinitions();
+ final Collection<? extends TypeDefinition<?>> types = bar.getTypeDefinitions();
// int32-ext1
final Int32TypeDefinition int32ext1 = (Int32TypeDefinition) TestUtils.findTypedef(types, "int32-ext1");
@Test
public void testTypePath2() throws ParseException {
- final Set<TypeDefinition<?>> types = bar.getTypeDefinitions();
+ final Collection<? extends TypeDefinition<?>> types = bar.getTypeDefinitions();
// my-decimal-type
final DecimalTypeDefinition myDecType = (DecimalTypeDefinition) TestUtils.findTypedef(types, "my-decimal-type");