import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResource;
import com.google.common.collect.Iterables;
-import com.google.common.collect.Range;
+import java.util.List;
import java.util.Optional;
import org.junit.jupiter.api.Test;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
import org.opendaylight.yangtools.yang.model.api.DeviateKind;
+import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaNode;
import org.opendaylight.yangtools.yang.model.api.UsesNode;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
+import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant;
import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
import org.opendaylight.yangtools.yang.model.api.type.Uint16TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.type.Uint8TypeDefinition;
TestUtils.findTypedef(module.getTypeDefinitions(), "dscp-ext"));
final var ranges = dscpExt.getRangeConstraint().orElseThrow().getAllowedRanges().asRanges();
assertEquals(1, ranges.size());
- final Range<?> range = ranges.iterator().next();
- assertEquals(Uint8.valueOf(0), range.lowerEndpoint());
+ final var range = ranges.iterator().next();
+ assertEquals(Uint8.ZERO, range.lowerEndpoint());
assertEquals(Uint8.valueOf(63), range.upperEndpoint());
}
// get node containing uses
final var peer = assertInstanceOf(ContainerSchemaNode.class,
- testModule.getDataChildByName(QName.create(testModule.getQNameModule(), "peer")));
+ testModule.dataChildByName(QName.create(testModule.getQNameModule(), "peer")));
final var destination = assertInstanceOf(ContainerSchemaNode.class,
- peer.getDataChildByName(QName.create(testModule.getQNameModule(), "destination")));
+ peer.dataChildByName(QName.create(testModule.getQNameModule(), "destination")));
// check uses
final var uses = destination.getUses();
// check uses process
final var data_u = assertInstanceOf(AnyxmlSchemaNode.class,
- destination.getDataChildByName(QName.create(testModule.getQNameModule(), "data")));
+ destination.dataChildByName(QName.create(testModule.getQNameModule(), "data")));
assertTrue(data_u.isAddedByUses());
final var data_g = assertInstanceOf(AnyxmlSchemaNode.class,
- grouping.getDataChildByName(QName.create(contextModule.getQNameModule(), "data")));
+ grouping.dataChildByName(QName.create(contextModule.getQNameModule(), "data")));
assertFalse(data_g.isAddedByUses());
assertNotEquals(data_u, data_g);
final var how_u = assertInstanceOf(ChoiceSchemaNode.class,
- destination.getDataChildByName(QName.create(testModule.getQNameModule(), "how")));
+ destination.dataChildByName(QName.create(testModule.getQNameModule(), "how")));
assertTrue(how_u.isAddedByUses());
final var how_g = assertInstanceOf(ChoiceSchemaNode.class,
- grouping.getDataChildByName(QName.create(contextModule.getQNameModule(), "how")));
+ grouping.dataChildByName(QName.create(contextModule.getQNameModule(), "how")));
assertFalse(how_g.isAddedByUses());
assertNotEquals(how_u, how_g);
final var address_u = assertInstanceOf(LeafSchemaNode.class,
- destination.getDataChildByName(QName.create(testModule.getQNameModule(), "address")));
+ destination.dataChildByName(QName.create(testModule.getQNameModule(), "address")));
assertTrue(address_u.isAddedByUses());
final var address_g = assertInstanceOf(LeafSchemaNode.class,
- grouping.getDataChildByName(QName.create(contextModule.getQNameModule(), "address")));
+ grouping.dataChildByName(QName.create(contextModule.getQNameModule(), "address")));
assertFalse(address_g.isAddedByUses());
assertNotEquals(address_u, address_g);
final var port_u = assertInstanceOf(ContainerSchemaNode.class,
- destination.getDataChildByName(QName.create(testModule.getQNameModule(), "port")));
+ destination.dataChildByName(QName.create(testModule.getQNameModule(), "port")));
assertTrue(port_u.isAddedByUses());
final var port_g = assertInstanceOf(ContainerSchemaNode.class,
- grouping.getDataChildByName(QName.create(contextModule.getQNameModule(), "port")));
+ grouping.dataChildByName(QName.create(contextModule.getQNameModule(), "port")));
assertNotNull(port_g);
assertFalse(port_g.isAddedByUses());
assertNotEquals(port_u, port_g);
- final ListSchemaNode addresses_u = assertInstanceOf(ListSchemaNode.class,
- destination.getDataChildByName(QName.create(testModule.getQNameModule(), "addresses")));
+ final var addresses_u = assertInstanceOf(ListSchemaNode.class,
+ destination.dataChildByName(QName.create(testModule.getQNameModule(), "addresses")));
assertNotNull(addresses_u);
assertTrue(addresses_u.isAddedByUses());
- final ListSchemaNode addresses_g = assertInstanceOf(ListSchemaNode.class,
- grouping.getDataChildByName(QName.create(contextModule.getQNameModule(), "addresses")));
+ final var addresses_g = assertInstanceOf(ListSchemaNode.class,
+ grouping.dataChildByName(QName.create(contextModule.getQNameModule(), "addresses")));
assertNotNull(addresses_g);
assertFalse(addresses_g.isAddedByUses());
assertNotEquals(addresses_u, addresses_g);
final var module = context.findModule("test2", Revision.of("2013-06-18")).orElseThrow();
final var peer = assertInstanceOf(ContainerSchemaNode.class,
- module.getDataChildByName(QName.create(module.getQNameModule(), "peer")));
+ module.dataChildByName(QName.create(module.getQNameModule(), "peer")));
final var destination = assertInstanceOf(ContainerSchemaNode.class,
- peer.getDataChildByName(QName.create(module.getQNameModule(), "destination")));
+ peer.dataChildByName(QName.create(module.getQNameModule(), "destination")));
final var usesNodes = destination.getUses();
assertEquals(1, usesNodes.size());
final UsesNode usesNode = usesNodes.iterator().next();
// test refine
final var refines = usesNode.getRefines();
- assertEquals(3, refines.size());
-
- LeafSchemaNode refineLeaf = null;
- ContainerSchemaNode refineContainer = null;
- ListSchemaNode refineList = null;
- for (var entry : refines.entrySet()) {
- final SchemaNode value = entry.getValue();
- if (value instanceof LeafSchemaNode leaf) {
- refineLeaf = leaf;
- } else if (value instanceof ContainerSchemaNode container) {
- refineContainer = container;
- } else if (value instanceof ListSchemaNode list) {
- refineList = list;
- }
- }
+ assertEquals(List.of(
+ Descendant.of(QName.create(T2_NS, REV, "address")),
+ Descendant.of(QName.create(T2_NS, REV, "port")),
+ Descendant.of(QName.create(T2_NS, REV, "addresses"))),
+ List.copyOf(refines));
// leaf address
- assertNotNull(refineLeaf);
- assertEquals("address", refineLeaf.getQName().getLocalName());
+ final var refineLeaf = assertInstanceOf(LeafSchemaNode.class,
+ destination.dataChildByName(QName.create(T2_NS, REV, "address")));
assertEquals(Optional.of("description of address defined by refine"), refineLeaf.getDescription());
assertEquals(Optional.of("address reference added by refine"), refineLeaf.getReference());
assertEquals(Optional.of(Boolean.FALSE), refineLeaf.effectiveConfig());
assertEquals("ifType != 'ethernet' or (ifType = 'ethernet' and ifMTU = 1500)", leafMust.getXpath().toString());
// container port
- assertNotNull(refineContainer);
+ final var refineContainer = assertInstanceOf(ContainerSchemaNode.class,
+ destination.dataChildByName(QName.create(T2_NS, REV, "port")));
final var mustConstraints = refineContainer.getMustConstraints();
assertTrue(mustConstraints.isEmpty());
assertEquals(Optional.of("description of port defined by refine"), refineContainer.getDescription());
assertTrue(refineContainer.isPresenceContainer());
// list addresses
- assertNotNull(refineList);
+ final var refineList = assertInstanceOf(ListSchemaNode.class,
+ destination.dataChildByName(QName.create(T2_NS, REV, "addresses")));
assertEquals(Optional.of("description of addresses defined by refine"), refineList.getDescription());
assertEquals(Optional.of("addresses reference added by refine"), refineList.getReference());
assertEquals(Optional.of(Boolean.FALSE), refineList.effectiveConfig());
final var constraint = refineList.getElementCountConstraint().orElseThrow();
- assertEquals((Object) 2, constraint.getMinElements());
- assertEquals((Object) 12, constraint.getMaxElements());
+ assertEquals(2, constraint.getMinElements());
+ assertEquals(12, constraint.getMaxElements());
}
@Test
final var module = context.findModule("test3", Revision.of("2013-06-18")).orElseThrow();
final var network = assertInstanceOf(ContainerSchemaNode.class,
- module.getDataChildByName(QName.create(module.getQNameModule(), "network")))
+ module.dataChildByName(QName.create(module.getQNameModule(), "network")))
.asEffectiveStatement().getDeclared();
final var unknownNodes = network.declaredSubstatements(UnrecognizedStatement.class);
assertEquals(1, unknownNodes.size());
"/context-augment-test/test3.yang", "/context-augment-test/test4.yang")
.findModules("test4").iterator().next();
final var interfaces = assertInstanceOf(ContainerSchemaNode.class,
- t4.getDataChildByName(QName.create(t4.getQNameModule(), "interfaces")));
+ t4.dataChildByName(QName.create(t4.getQNameModule(), "interfaces")));
final var ifEntry = assertInstanceOf(ListSchemaNode.class,
- interfaces.getDataChildByName(QName.create(t4.getQNameModule(), "ifEntry")));
+ interfaces.dataChildByName(QName.create(t4.getQNameModule(), "ifEntry")));
// test augmentation process
final var augmentHolder = assertInstanceOf(ContainerSchemaNode.class,
- ifEntry.getDataChildByName(QName.create(T3_NS, REV, "augment-holder")));
- final var ds0 = augmentHolder.getDataChildByName(QName.create(T2_NS, REV, "ds0ChannelNumber"));
- final var interfaceId = augmentHolder.getDataChildByName(QName.create(T2_NS, REV, "interface-id"));
- assertNotNull(interfaceId);
- final var higherLayerIf = augmentHolder.getDataChildByName(QName.create(T2_NS, REV, "higher-layer-if"));
+ ifEntry.dataChildByName(QName.create(T3_NS, REV, "augment-holder")));
+ assertInstanceOf(LeafSchemaNode.class,
+ augmentHolder.dataChildByName(QName.create(T2_NS, REV, "ds0ChannelNumber")));
+ assertInstanceOf(LeafSchemaNode.class, augmentHolder.dataChildByName(QName.create(T2_NS, REV, "interface-id")));
+ assertInstanceOf(LeafListSchemaNode.class,
+ augmentHolder.dataChildByName(QName.create(T2_NS, REV, "higher-layer-if")));
final var schemas = assertInstanceOf(ContainerSchemaNode.class,
- augmentHolder.getDataChildByName(QName.create(T2_NS, REV, "schemas")));
- assertNotNull(schemas.getDataChildByName(QName.create(T1_NS, REV, "id")));
+ augmentHolder.dataChildByName(QName.create(T2_NS, REV, "schemas")));
+ assertInstanceOf(LeafSchemaNode.class, schemas.dataChildByName(QName.create(T1_NS, REV, "id")));
// test augment target after augmentation: check if it is same instance
final var ifEntryAfterAugment = assertInstanceOf(ListSchemaNode.class,
- interfaces.getDataChildByName(QName.create(t4.getQNameModule(), "ifEntry")));
+ interfaces.dataChildByName(QName.create(t4.getQNameModule(), "ifEntry")));
assertSame(ifEntry, ifEntryAfterAugment);
}
assertEquals(Optional.of("system/user ref"), dev.getReference());
- final XMLNamespace expectedNS = XMLNamespace.of("urn:opendaylight.bar");
- final Revision expectedRev = Revision.of("2013-07-03");
+ final var expectedNS = XMLNamespace.of("urn:opendaylight.bar");
+ final var expectedRev = Revision.of("2013-07-03");
- assertEquals(Absolute.of(
- QName.create(expectedNS, expectedRev, "interfaces"), QName.create(expectedNS, expectedRev, "ifEntry")),
+ assertEquals(
+ Absolute.of(
+ QName.create(expectedNS, expectedRev, "interfaces"),
+ QName.create(expectedNS, expectedRev, "ifEntry")),
dev.getTargetPath());
assertEquals(DeviateKind.ADD, dev.getDeviates().iterator().next().getDeviateType());
}