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.Revision;
import org.opendaylight.yangtools.yang.common.YangConstants;
import org.opendaylight.yangtools.yang.common.YangVersion;
-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.ConstraintDefinition;
import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
public class YangParserTest {
- private static final QNameModule FOO = QNameModule.create(
- URI.create("urn:opendaylight.foo"), Revision.valueOf("2013-02-27"));
- private static final QNameModule BAR = QNameModule.create(
- URI.create("urn:opendaylight.bar"), Revision.valueOf("2013-07-03"));
- private static final QNameModule BAZ = QNameModule.create(
- URI.create("urn:opendaylight.baz"), Revision.valueOf("2013-02-27"));
+ private static final QNameModule FOO = QNameModule.create(URI.create("urn:opendaylight.foo"),
+ Revision.of("2013-02-27"));
+ private static final QNameModule BAR = QNameModule.create(URI.create("urn:opendaylight.bar"),
+ Revision.of("2013-07-03"));
+ private static final QNameModule BAZ = QNameModule.create(URI.create("urn:opendaylight.baz"),
+ Revision.of("2013-02-27"));
private SchemaContext context;
private Module foo;
assertEquals("baz", import3.getModuleName());
assertEquals(BAZ.getRevision(), import3.getRevision());
- assertEquals("opendaylight", foo.getOrganization());
- assertEquals("http://www.opendaylight.org/", foo.getContact());
- assertEquals(Optional.of(Revision.valueOf("2013-02-27")), foo.getRevision());
- assertNull(foo.getReference());
+ 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
final SchemaPath expectedPath = TestUtils.createPath(true, BAR, "interfaces", "ifEntry");
assertEquals(expectedPath, ifEntry.getPath());
- assertNull(ifEntry.getDescription());
- assertNull(ifEntry.getReference());
+ assertFalse(ifEntry.getDescription().isPresent());
+ assertFalse(ifEntry.getReference().isPresent());
assertEquals(Status.CURRENT, ifEntry.getStatus());
assertEquals(0, ifEntry.getUnknownSchemaNodes().size());
// test DataSchemaNode args
assertEquals(1, (int) constraints.getMinElements());
assertEquals(11, (int) constraints.getMaxElements());
// test AugmentationTarget args
- final Set<AugmentationSchema> availableAugmentations = ifEntry.getAvailableAugmentations();
+ final Set<AugmentationSchemaNode> availableAugmentations = ifEntry.getAvailableAugmentations();
assertEquals(2, availableAugmentations.size());
// test ListSchemaNode args
final List<QName> expectedKey = new ArrayList<>();
"ifIndex"));
assertEquals(ifEntry.getKeyDefinition().get(0), ifIndex.getQName());
assertTrue(ifIndex.getType() instanceof UnsignedIntegerTypeDefinition);
- assertEquals("minutes", ifIndex.getUnits());
+ assertEquals("minutes", ifIndex.getType().getUnits());
final LeafSchemaNode ifMtu = (LeafSchemaNode) ifEntry.getDataChildByName(QName.create(bar.getQNameModule(),
"ifMtu"));
assertEquals(BaseTypes.int32Type(), ifMtu.getType());
List<PatternConstraint> patterns = type.getPatternConstraints();
assertEquals(1, patterns.size());
PatternConstraint pattern = patterns.iterator().next();
- assertEquals("^[e-z]*$", pattern.getRegularExpression());
+ 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.getRegularExpression());
+ 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.getRegularExpression());
+ assertEquals("^[a-k]*$", pattern.getJavaPatternString());
final RangeSet<Integer> baseType3Lengths = baseType3.getLengthConstraint().get().getAllowedRanges();
assertEquals(1, baseType3Lengths.asRanges().size());
length = baseType3Lengths.span();
assertTrue(!patterns.isEmpty());
assertEquals(1, patterns.size());
final PatternConstraint pattern = patterns.iterator().next();
- assertEquals("^[e-z]*$", pattern.getRegularExpression());
+ assertEquals("^[e-z]*$", pattern.getJavaPatternString());
assertEquals(1, type.getLengthConstraint().get().getAllowedRanges().asRanges().size());
final LeafSchemaNode multiplePatternDirectStringDefLeaf = (LeafSchemaNode) foo
boolean isEZPattern = false;
boolean isADPattern = false;
for (final PatternConstraint patternConstraint : patterns) {
- if (patternConstraint.getRegularExpression().equals("^[e-z]*$")) {
+ if (patternConstraint.getJavaPatternString().equals("^[e-z]*$")) {
isEZPattern = true;
- } else if (patternConstraint.getRegularExpression().equals("^[a-d]*$")) {
+ } else if (patternConstraint.getJavaPatternString().equals("^[a-d]*$")) {
isADPattern = true;
}
}
final List<PatternConstraint> patterns = baseType2.getPatternConstraints();
assertEquals(1, patterns.size());
final PatternConstraint pattern = patterns.iterator().next();
- assertEquals("^[a-k]*$", pattern.getRegularExpression());
+ 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 Set<ChoiceCaseNode> cases = how.getCases();
+ final SortedMap<QName, ChoiceCaseNode> cases = how.getCases();
assertEquals(5, cases.size());
ChoiceCaseNode input = null;
ChoiceCaseNode output = null;
- for (final ChoiceCaseNode caseNode : cases) {
+ for (final ChoiceCaseNode caseNode : cases.values()) {
if ("input".equals(caseNode.getQName().getLocalName())) {
input = caseNode;
} else if ("output".equals(caseNode.getQName().getLocalName())) {
final Set<Deviation> deviations = foo.getDeviations();
assertEquals(1, deviations.size());
final Deviation dev = deviations.iterator().next();
- assertEquals("system/user ref", dev.getReference());
+ assertEquals(Optional.of("system/user ref"), dev.getReference());
final SchemaPath expectedPath = SchemaPath.create(true,
QName.create(BAR, "interfaces"),
assertEquals(1, extensions.size());
final ExtensionDefinition extension = extensions.get(0);
assertEquals("name", extension.getArgument());
- assertEquals("Takes as argument a name string. Makes the code generator use the given name in the #define.",
+ assertEquals(
+ Optional.of("Takes as argument a name string. Makes the code generator use the given name in the #define."),
extension.getDescription());
assertTrue(extension.isYinElement());
}
assertEquals(QName.create(BAZ, "event"), notification.getQName());
final SchemaPath expectedPath = SchemaPath.create(true, QName.create(BAZ, "event"));
assertEquals(expectedPath, notification.getPath());
- assertNull(notification.getDescription());
- assertNull(notification.getReference());
+ assertFalse(notification.getDescription().isPresent());
+ assertFalse(notification.getReference().isPresent());
assertEquals(Status.CURRENT, notification.getStatus());
assertEquals(0, notification.getUnknownSchemaNodes().size());
// test DataNodeContainer args
assertEquals(1, rpcs.size());
final RpcDefinition rpc = rpcs.iterator().next();
- assertEquals("Retrieve all or part of a specified configuration.", rpc.getDescription());
- assertEquals("RFC 6241, Section 7.1", rpc.getReference());
+ assertEquals(Optional.of("Retrieve all or part of a specified configuration."), rpc.getDescription());
+ assertEquals(Optional.of("RFC 6241, Section 7.1"), rpc.getReference());
}
@Test