Uses intra linking UT updation
Change-Id: I2f45f17ed1bab4cbfbbc33ed3abaaddbdaaf5574
(cherry picked from commit 8178bd320d821866ecbec378a46799e44a8384f9)
diff --git a/utils/yangutils/src/test/java/org/onosproject/yangutils/linker/IntraFileUsesLinkingTest.java b/utils/yangutils/src/test/java/org/onosproject/yangutils/linker/IntraFileUsesLinkingTest.java
index 44533a0..50d8d20 100644
--- a/utils/yangutils/src/test/java/org/onosproject/yangutils/linker/IntraFileUsesLinkingTest.java
+++ b/utils/yangutils/src/test/java/org/onosproject/yangutils/linker/IntraFileUsesLinkingTest.java
@@ -17,6 +17,7 @@
package org.onosproject.yangutils.linker;
import java.io.IOException;
+import java.util.List;
import java.util.ListIterator;
import org.junit.Rule;
@@ -92,13 +93,15 @@
assertThat(uses.getResolvableStatus(),
is(ResolvableStatus.RESOLVED));
-// leafIterator = yangNode.getListOfLeaf().listIterator();
-// leafInfo = leafIterator.next();
-//
-// // Check whether the information in the leaf is correct under module.
-// assertThat(leafInfo.getName(), is("hello"));
-// assertThat(leafInfo.getDataType().getDataTypeName(), is("string"));
-// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING));
+ ListIterator<List<YangLeaf>> leafIterator1 = uses.getUsesResolvedLeavesList().listIterator();
+ List<YangLeaf> leafInfo1 = leafIterator1.next();
+ ListIterator<YangLeaf> leafIterator2 = leafInfo1.listIterator();
+ YangLeaf leafInfo2 = leafIterator2.next();
+
+ // Check whether the information in the leaf is correct under module.
+ assertThat(leafInfo2.getName(), is("hello"));
+ assertThat(leafInfo2.getDataType().getDataTypeName(), is("string"));
+ assertThat(leafInfo2.getDataType().getDataType(), is(YangDataTypes.STRING));
}
@@ -161,28 +164,32 @@
assertThat(uses.getResolvableStatus(),
is(ResolvableStatus.RESOLVED));
-// leafIterator = yangNode.getListOfLeaf().listIterator();
-// leafInfo = leafIterator.next();
-//
-// // Check whether the information in the leaf is correct under module.
-// assertThat(leafInfo.getName(), is("treat"));
-// assertThat(leafInfo.getDataType().getDataTypeName(), is("string"));
-// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING));
+ ListIterator<List<YangLeaf>> leafIterator1 = uses.getUsesResolvedLeavesList().listIterator();
+ List<YangLeaf> leafInfo1 = leafIterator1.next();
+ ListIterator<YangLeaf> leafIterator2 = leafInfo1.listIterator();
+ YangLeaf leafInfo2 = leafIterator2.next();
-// // Check whether container is the child of module.
-// assertThat((grouping.getNextSibling() instanceof YangContainer), is(true));
-// container = (YangContainer) grouping.getNextSibling();
-//
-// // Check whether the container name is set correctly which is under module.
-// assertThat(container.getName(), is("test"));
-//
-// leafIterator = container.getListOfLeaf().listIterator();
-// leafInfo = leafIterator.next();
-//
-// // Check whether the information in the leaf is correct under container which is under module.
-// assertThat(leafInfo.getName(), is("leaf2"));
-// assertThat(leafInfo.getDataType().getDataTypeName(), is("string"));
-// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING));
+ // Check whether the information in the leaf is correct under module.
+ assertThat(leafInfo2.getName(), is("treat"));
+ assertThat(leafInfo2.getDataType().getDataTypeName(), is("string"));
+ assertThat(leafInfo2.getDataType().getDataType(), is(YangDataTypes.STRING));
+
+ ListIterator<YangNode> usesChildren = uses.getUsesResolvedNodeList().listIterator();
+ YangNode usesChild = usesChildren.next();
+ // Check whether container is the child of module.
+ assertThat((usesChild instanceof YangContainer), is(true));
+ container = (YangContainer) usesChild;
+
+ // Check whether the container name is set correctly which is under module.
+ assertThat(container.getName(), is("test"));
+
+ leafIterator = container.getListOfLeaf().listIterator();
+ leafInfo = leafIterator.next();
+
+ // Check whether the information in the leaf is correct under container which is under module.
+ assertThat(leafInfo.getName(), is("leaf2"));
+ assertThat(leafInfo.getDataType().getDataTypeName(), is("string"));
+ assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING));
}
/**
@@ -241,52 +248,56 @@
assertThat(uses.getResolvableStatus(),
is(ResolvableStatus.RESOLVED));
-// // Check whether list is the sibling of uses which has been deep copied from grouping.
-// assertThat((yangNode.getChild().getChild().getNextSibling().getChild().getNextSibling() instanceof YangList),
-// is(true));
-// YangList yangList = (YangList) yangNode.getChild().getChild().getNextSibling().getChild().getNextSibling();
-//
-// // Check whether the list name is set correctly.
-// assertThat(yangList.getName(), is("valid"));
-//
-// leafIterator = yangList.getListOfLeaf().listIterator();
-// leafInfo = leafIterator.next();
-//
-// // Check whether the information in the leaf is correct under list which is deep copied.
-// assertThat(leafInfo.getName(), is("invalid-interval"));
-// assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16"));
-// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16));
-// assertThat(leafInfo.getUnits(), is("\"seconds\""));
-// assertThat(leafInfo.getReference(), is("\"RFC 6020\""));
-//
-// // Check whether uses is output's child.
-// assertThat((yangNode.getChild().getChild().getNextSibling().getNextSibling().getChild() instanceof YangUses),
-// is(true));
-// YangUses usesInOuput = (YangUses) yangNode.getChild().getChild().getNextSibling().getNextSibling().getChild();
-//
-// // Check whether uses get resolved.
-// assertThat(usesInOuput.getResolvableStatus(),
-// is(ResolvableStatus.RESOLVED));
-//
-// // Check whether list is the sibling of uses which has been deep copied from grouping.
-// assertThat((yangNode.getChild().getChild().getNextSibling().getChild().getNextSibling() instanceof YangList),
-// is(true));
-//
-// YangList yangListInOutput = (YangList) yangNode.getChild().getChild().getNextSibling().getNextSibling()
-// .getChild().getNextSibling();
-//
-// // Check whether the list name is set correctly.
-// assertThat(yangListInOutput.getName(), is("valid"));
-//
-// leafIterator = yangListInOutput.getListOfLeaf().listIterator();
-// leafInfo = leafIterator.next();
-//
-// // Check whether the information in the leaf is correct under list which is deep copied.
-// assertThat(leafInfo.getName(), is("invalid-interval"));
-// assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16"));
-// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16));
-// assertThat(leafInfo.getUnits(), is("\"seconds\""));
-// assertThat(leafInfo.getReference(), is("\"RFC 6020\""));
+ ListIterator<YangNode> usesChildren = uses.getUsesResolvedNodeList().listIterator();
+ YangNode usesChild = usesChildren.next();
+
+ // Check whether list is the sibling of uses which has been deep copied from grouping.
+ assertThat((usesChild instanceof YangList), is(true));
+
+ YangList yangList = (YangList) usesChild;
+
+ // Check whether the list name is set correctly.
+ assertThat(yangList.getName(), is("valid"));
+
+ leafIterator = yangList.getListOfLeaf().listIterator();
+ leafInfo = leafIterator.next();
+
+ // Check whether the information in the leaf is correct under list which is deep copied.
+ assertThat(leafInfo.getName(), is("invalid-interval"));
+ assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16"));
+ assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16));
+ assertThat(leafInfo.getUnits(), is("\"seconds\""));
+ assertThat(leafInfo.getReference(), is("\"RFC 6020\""));
+
+ // Check whether uses is output's child.
+ assertThat((yangNode.getChild().getChild().getNextSibling().getNextSibling().getChild() instanceof YangUses),
+ is(true));
+ YangUses usesInOuput = (YangUses) yangNode.getChild().getChild().getNextSibling().getNextSibling().getChild();
+
+ // Check whether uses get resolved.
+ assertThat(usesInOuput.getResolvableStatus(),
+ is(ResolvableStatus.RESOLVED));
+
+ ListIterator<YangNode> usesInOuputChildren = usesInOuput.getUsesResolvedNodeList().listIterator();
+ YangNode usesInOuputChild = usesInOuputChildren.next();
+
+ // Check whether list is the sibling of uses which has been deep copied from grouping.
+ assertThat((usesInOuputChild instanceof YangList), is(true));
+
+ YangList yangListInOutput = (YangList) usesInOuputChild;
+
+ // Check whether the list name is set correctly.
+ assertThat(yangListInOutput.getName(), is("valid"));
+
+ leafIterator = yangListInOutput.getListOfLeaf().listIterator();
+ leafInfo = leafIterator.next();
+
+ // Check whether the information in the leaf is correct under list which is deep copied.
+ assertThat(leafInfo.getName(), is("invalid-interval"));
+ assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16"));
+ assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16));
+ assertThat(leafInfo.getUnits(), is("\"seconds\""));
+ assertThat(leafInfo.getReference(), is("\"RFC 6020\""));
}
/**
@@ -342,6 +353,24 @@
assertThat(firstUses.getResolvableStatus(),
is(ResolvableStatus.RESOLVED));
+ ListIterator<YangNode> firstUsesChildren = firstUses.getUsesResolvedNodeList().listIterator();
+ YangNode firstUsesChild = firstUsesChildren.next();
+
+ // Check whether list is the sibling of uses.
+ assertThat((firstUsesChild instanceof YangList), is(true));
+ YangList yangList = (YangList) firstUsesChild;
+ assertThat(yangList.getName(), is("valid"));
+
+ leafIterator = yangList.getListOfLeaf().listIterator();
+ leafInfo = leafIterator.next();
+
+ // Check whether the information in the leaf is correct under list which has been deep copied from grouping.
+ assertThat(leafInfo.getName(), is("invalid-interval"));
+ assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16"));
+ assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16));
+ assertThat(leafInfo.getUnits(), is("\"seconds\""));
+ assertThat(leafInfo.getReference(), is("\"RFC 6020\""));
+
// Check whether container is the sibling of uses.
assertThat((firstUses.getNextSibling() instanceof YangContainer), is(true));
YangContainer yangContainer = (YangContainer) firstUses.getNextSibling();
@@ -349,14 +378,6 @@
// Check whether the container name is set correctly.
assertThat(yangContainer.getName(), is("design"));
-// leafIterator = yangContainer.getListOfLeaf().listIterator();
-// leafInfo = leafIterator.next();
-//
-// // Check whether the information in the leaf is correct under design-container.
-// assertThat(leafInfo.getName(), is("ink"));
-// assertThat(leafInfo.getDataType().getDataTypeName(), is("int32"));
-// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.INT32));
-
// Check whether uses is design-container's child.
assertThat((yangContainer.getChild() instanceof YangUses), is(true));
YangUses secondUses = (YangUses) yangContainer.getChild();
@@ -365,6 +386,16 @@
assertThat(secondUses.getResolvableStatus(),
is(ResolvableStatus.RESOLVED));
+ ListIterator<List<YangLeaf>> leafIterator1 = secondUses.getUsesResolvedLeavesList().listIterator();
+ List<YangLeaf> leafInfo1 = leafIterator1.next();
+ ListIterator<YangLeaf> leafIterator2 = leafInfo1.listIterator();
+ YangLeaf leafInfo2 = leafIterator2.next();
+
+ // Check whether the information in the leaf is correct under design-container.
+ assertThat(leafInfo2.getName(), is("ink"));
+ assertThat(leafInfo2.getDataType().getDataTypeName(), is("int32"));
+ assertThat(leafInfo2.getDataType().getDataType(), is(YangDataTypes.INT32));
+
// Check whether container is the sibling of uses.
assertThat((secondUses.getNextSibling() instanceof YangContainer), is(true));
YangContainer yangContainer2 = (YangContainer) secondUses.getNextSibling();
@@ -386,85 +417,88 @@
assertThat(thirdUses.getResolvableStatus(),
is(ResolvableStatus.RESOLVED));
-// // Check whether container is the sibling of uses.
-// assertThat((thirdUses.getNextSibling() instanceof YangContainer), is(true));
-//
-// YangContainer yangContainer3 = (YangContainer) thirdUses.getNextSibling();
-// assertThat(yangContainer3.getName(), is("value"));
-//
-// leafIterator = yangContainer3.getListOfLeaf().listIterator();
-// leafInfo = leafIterator.next();
-//
-// // Check whether the information in the leaf is correct under container
-// // which has been deep copied from grouping.
-// assertThat(leafInfo.getName(), is("zip-code"));
-// assertThat(leafInfo.getDataType().getDataTypeName(), is("string"));
-// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING));
-//
-// // Check whether uses is the sibling of container-design.
-// assertThat((yangContainer.getNextSibling() instanceof YangUses), is(true));
-// YangUses fourthUses = (YangUses) yangContainer.getNextSibling();
-//
-// // Check whether uses get resolved.
-// assertThat(fourthUses.getResolvableStatus(),
-// is(ResolvableStatus.RESOLVED));
-//
-// // Check whether uses is the sibling of previous uses.
-// assertThat((fourthUses.getNextSibling() instanceof YangUses), is(true));
-// YangUses fifthUses = (YangUses) fourthUses.getNextSibling();
-//
-// // Check whether uses get resolved.
-// assertThat(fifthUses.getResolvableStatus(),
-// is(ResolvableStatus.RESOLVED));
-//
-// // Check whether list is the sibling of uses.
-// assertThat((fifthUses.getNextSibling() instanceof YangList), is(true));
-// YangList yangList = (YangList) fifthUses.getNextSibling();
-// assertThat(yangList.getName(), is("valid"));
-//
-// leafIterator = yangList.getListOfLeaf().listIterator();
-// leafInfo = leafIterator.next();
-//
-// // Check whether the information in the leaf is correct under list which has been deep copied from grouping.
-// assertThat(leafInfo.getName(), is("invalid-interval"));
-// assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16"));
-// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16));
-// assertThat(leafInfo.getUnits(), is("\"seconds\""));
-// assertThat(leafInfo.getReference(), is("\"RFC 6020\""));
-//
-// // Check whether typedef is the sibling of list.
-// assertThat((yangList.getNextSibling() instanceof YangTypeDef), is(true));
-// YangTypeDef yangTypeDef = (YangTypeDef) yangList.getNextSibling();
-// assertThat(yangTypeDef.getName(), is("my-type"));
-//
-// leafIterator = grouping.getListOfLeaf().listIterator();
-// leafInfo = leafIterator.next();
-//
-// // Check whether the information in the leaf is correct under grouping.
-// assertThat(leafInfo.getName(), is("zip-code"));
-// assertThat(leafInfo.getDataType().getDataTypeName(), is("string"));
-// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING));
-//
-// // Check whether uses is endpoint-grouping's sibling.
-// assertThat((grouping.getNextSibling() instanceof YangUses), is(true));
-// YangUses endpointUses = (YangUses) grouping.getNextSibling();
-//
-// // Check whether uses get resolved.
-// assertThat(endpointUses.getResolvableStatus(),
-// is(ResolvableStatus.RESOLVED));
-//
-// assertThat((endpointUses.getNextSibling().getNextSibling().getNextSibling().getNextSibling().getNextSibling()
-// .getNextSibling() instanceof YangUses), is(true));
-//
-// YangUses yangUsesInEndpoint = (YangUses) endpointUses.getNextSibling().getNextSibling().getNextSibling()
-// .getNextSibling().getNextSibling().getNextSibling();
-// assertThat(yangUsesInEndpoint.getResolvableStatus(),
-// is(ResolvableStatus.RESOLVED));
-//
-// assertThat((yangUsesInEndpoint.getNextSibling() instanceof YangContainer), is(true));
-// YangContainer yangContainerInEndPoint = (YangContainer) yangUsesInEndpoint.getNextSibling();
-//
-// assertThat(yangContainerInEndPoint.getName(), is("design"));
+ ListIterator<YangNode> thirdUsesChildren = thirdUses.getUsesResolvedNodeList().listIterator();
+ YangNode thirdUsesChild = thirdUsesChildren.next();
+
+ // Check whether container is the child of uses.
+ assertThat((thirdUsesChild instanceof YangContainer), is(true));
+
+ YangContainer yangContainer3 = (YangContainer) thirdUsesChild;
+ assertThat(yangContainer3.getName(), is("value"));
+
+ leafIterator = yangContainer3.getListOfLeaf().listIterator();
+ leafInfo = leafIterator.next();
+
+ // Check whether the information in the leaf is correct under container
+ // which has been deep copied from grouping.
+ assertThat(leafInfo.getName(), is("zip-code"));
+ assertThat(leafInfo.getDataType().getDataTypeName(), is("string"));
+ assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING));
+
+
+ // Check whether uses is the sibling of container-design.
+ assertThat((yangContainer.getNextSibling() instanceof YangUses), is(true));
+ YangUses fourthUses = (YangUses) yangContainer.getNextSibling();
+ assertThat(fourthUses.getName(), is("fourth"));
+ // Check whether uses get resolved.
+ assertThat(fourthUses.getResolvableStatus(),
+ is(ResolvableStatus.RESOLVED));
+
+ ListIterator<List<YangLeaf>> fourthUsesChildren = fourthUses.getUsesResolvedLeavesList().listIterator();
+ List<YangLeaf> fourthUsesChild = fourthUsesChildren.next();
+ ListIterator<YangLeaf> fourthUsesChildren1 = fourthUsesChild.listIterator();
+ YangLeaf fourthUsesChild1 = fourthUsesChildren1.next();
+
+ // Check whether the information in the leaf is correct under correct-container.
+ assertThat(fourthUsesChild1.getName(), is("correct"));
+ assertThat(fourthUsesChild1.getDataType().getDataTypeName(), is("my-type"));
+ assertThat(fourthUsesChild1.getDataType().getDataType(), is(YangDataTypes.DERIVED));
+
+ // Check whether uses is the sibling of previous uses.
+ assertThat((fourthUses.getNextSibling() instanceof YangUses), is(true));
+ YangUses fifthUses = (YangUses) fourthUses.getNextSibling();
+ assertThat(fifthUses.getName(), is("fifth"));
+
+ // Check whether uses get resolved.
+ assertThat(fifthUses.getResolvableStatus(),
+ is(ResolvableStatus.RESOLVED));
+
+ ListIterator<List<YangLeaf>> fifthUsesChildren = fifthUses.getUsesResolvedLeavesList().listIterator();
+ List<YangLeaf> fifthUsesChild = fifthUsesChildren.next();
+ ListIterator<YangLeaf> fifthUsesChildren1 = fifthUsesChild.listIterator();
+ YangLeaf fifthUsesChild1 = fifthUsesChildren1.next();
+
+ //Check whether the information in the leaf is correct under correct-container.
+ assertThat(fifthUsesChild1.getName(), is("abc"));
+ assertThat(fifthUsesChild1.getDataType().getDataTypeName(), is("string"));
+ assertThat(fifthUsesChild1.getDataType().getDataType(), is(YangDataTypes.STRING));
+
+ //Check whether uses is endpoint-grouping's sibling.
+ assertThat((grouping.getNextSibling() instanceof YangUses), is(true));
+ YangUses endpointUses = (YangUses) grouping.getNextSibling();
+
+ // Check whether uses get resolved.
+ assertThat(endpointUses.getResolvableStatus(),
+ is(ResolvableStatus.RESOLVED));
+ assertThat(endpointUses.getName(), is("endpoint"));
+
+ ListIterator<YangNode> endpointUsesUsesChildren = endpointUses.getUsesResolvedNodeList().listIterator();
+ YangNode endpointUsesUsesChild = endpointUsesUsesChildren.next();
+
+ // Check whether list is the sibling of uses.
+ assertThat((endpointUsesUsesChild instanceof YangList), is(true));
+ YangList yangList1 = (YangList) firstUsesChild;
+ assertThat(yangList1.getName(), is("valid"));
+
+ leafIterator = yangList1.getListOfLeaf().listIterator();
+ leafInfo = leafIterator.next();
+
+ // Check whether the information in the leaf is correct under list which has been deep copied from grouping.
+ assertThat(leafInfo.getName(), is("invalid-interval"));
+ assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16"));
+ assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16));
+ assertThat(leafInfo.getUnits(), is("\"seconds\""));
+ assertThat(leafInfo.getReference(), is("\"RFC 6020\""));
}
/**