+ }
+
+ @Test
+ public void testPathArgument() throws URISyntaxException, ParseException {
+ final QNameModule qNameModule = QNameModule.create(new URI("urn:opendaylight.test2"),
+ SimpleDateFormatUtil.getRevisionFormat().parse("2015-08-08"));
+ final QName qNameRoot = QName.create(qNameModule, "root");
+ final QName qNameList = QName.create(qNameModule, "list");
+ final QName qNameLeaf = QName.create(qNameModule, "leaf-a");
+ final Map<QName, Object> entryLeaf = new HashMap<>();
+ entryLeaf.put(qNameList, "leaf");
+ final YangInstanceIdentifier.NodeIdentifierWithPredicates nodeIdentifierWithPredicates = new YangInstanceIdentifier
+ .NodeIdentifierWithPredicates(qNameList , entryLeaf);
+ final YangInstanceIdentifier yangInstanceIdentifier = YangInstanceIdentifier.of(qNameRoot).node(qNameList)
+ .node(nodeIdentifierWithPredicates).node(qNameLeaf);
+ final PathArgument pathArgumentToRoot = yangInstanceIdentifier.getAncestor(1).getPathArguments().iterator()
+ .next();
+ final StackedPathArguments stackedPathArguments = (StackedPathArguments)yangInstanceIdentifier.getPathArguments();
+ assertTrue(yangInstanceIdentifier.pathArgumentsEqual(yangInstanceIdentifier));
+ assertEquals(pathArgumentToRoot, stackedPathArguments.get(0));
+ assertEquals(4, stackedPathArguments.size());
+ assertEquals(true, stackedPathArguments.contains(pathArgumentToRoot));
+ assertEquals(0, stackedPathArguments.indexOf(pathArgumentToRoot));
+ assertEquals(0, stackedPathArguments.lastIndexOf(pathArgumentToRoot));
+
+ final StackedReversePathArguments stackedReversePathArguments = (StackedReversePathArguments)yangInstanceIdentifier
+ .getReversePathArguments();
+ final QName rootQname = pathArgumentToRoot.getNodeType();
+ final QName leafQname = stackedReversePathArguments.get(0).getNodeType();
+ assertEquals(qNameRoot, rootQname);
+ assertEquals(qNameLeaf, leafQname);
+ assertEquals(4, stackedReversePathArguments.size());
+ assertEquals(true, stackedReversePathArguments.contains(pathArgumentToRoot));
+ assertEquals(3, stackedReversePathArguments.indexOf(pathArgumentToRoot));
+ assertEquals(3, stackedReversePathArguments.lastIndexOf(pathArgumentToRoot));