[ONOS-4842] Leafref implementation for augment and uses
Change-Id: I919553a64d683aff65a8f16e2de783702dd5a45f
diff --git a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/ConfigListenerTest.java b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/ConfigListenerTest.java
index ab84306..3a174a7 100644
--- a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/ConfigListenerTest.java
+++ b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/ConfigListenerTest.java
@@ -444,33 +444,6 @@
* config statement's value.
*/
@Test
- public void processNoConfigListSubStatementLeafList() throws IOException, ParserException {
-
- YangNode node = manager.getDataModel("src/test/resources/NoConfigListSubStatementLeafList.yang");
-
- assertThat((node instanceof YangModule), is(true));
- assertThat(node.getNodeType(), is(YangNodeType.MODULE_NODE));
- YangModule yangNode = (YangModule) node;
- assertThat(yangNode.getName(), is("Test"));
-
- // Check whether the config value is set correctly.
- YangList list1 = (YangList) yangNode.getChild();
- assertThat(list1.getName(), is("valid"));
- assertThat(list1.isConfig(), is(true));
-
- ListIterator<YangLeafList> leafListIterator = list1.getListOfLeafList().listIterator();
- YangLeafList leafListInfo = leafListIterator.next();
-
- // Check whether config value is set correctly.
- assertThat(leafListInfo.getName(), is("invalid-interval"));
- assertThat(leafListInfo.isConfig(), is(true));
- }
-
- /**
- * Checks when config is not specified, the default is same as the parent's schema node's
- * config statement's value.
- */
- @Test
public void processNoConfigListSubStatementLeaf() throws IOException, ParserException {
YangNode node = manager.getDataModel("src/test/resources/NoConfigListSubStatementLeaf.yang");
diff --git a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/KeyListenerTest.java b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/KeyListenerTest.java
index 510b313..5134f27 100644
--- a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/KeyListenerTest.java
+++ b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/KeyListenerTest.java
@@ -143,26 +143,6 @@
}
/**
- * Checks key values are set correctly.
- */
- @Test
- public void processConfigFalseValidKeyValidLeafList() throws IOException, ParserException {
- YangNode node = manager.getDataModel("src/test/resources/ConfigFalseValidKeyValidLeafList.yang");
-
- assertThat((node instanceof YangModule), is(true));
- assertThat(node.getNodeType(), is(YangNodeType.MODULE_NODE));
- YangModule yangNode = (YangModule) node;
- assertThat(yangNode.getName(), is("Test"));
-
- // Check whether the list is child of module
- YangList yangList = (YangList) yangNode.getChild();
- assertThat(yangList.getName(), is("valid"));
-
- ListIterator<String> keyList = yangList.getKeyList().listIterator();
- assertThat(keyList.next(), is("invalid-interval"));
- }
-
- /**
* Checks whether exception is thrown when list's config is set to true and there is no key.
*/
@Test
@@ -233,26 +213,6 @@
}
/**
- * Checks whether exception is thrown when key leaf-list identifier is not found in list.
- */
- @Test
- public void processInvalidLeafListIdentifier() throws IOException, ParserException {
- thrown.expect(ParserException.class);
- thrown.expectMessage("An identifier, in key, must refer to a child leaf of the list");
- YangNode node = manager.getDataModel("src/test/resources/InvalidLeafListIdentifier.yang");
- }
-
- /**
- * Checks whether exception is thrown when key leaf-list is of type empty.
- */
- @Test
- public void processKeyLeafListTypeEmpty() throws IOException, ParserException {
- thrown.expect(ParserException.class);
- thrown.expectMessage("A leaf-list that is part of the key must not be the built-in type \"empty\".");
- YangNode node = manager.getDataModel("src/test/resources/KeyLeafListTypeEmpty.yang");
- }
-
- /**
* Checks whether exception is thrown when key leaf is of type empty.
*/
@Test
diff --git a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/UniqueListenerTest.java b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/UniqueListenerTest.java
new file mode 100644
index 0000000..95ee043
--- /dev/null
+++ b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/listeners/UniqueListenerTest.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onosproject.yangutils.parser.impl.listeners;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.onosproject.yangutils.datamodel.YangList;
+import org.onosproject.yangutils.datamodel.YangModule;
+import org.onosproject.yangutils.datamodel.YangNode;
+import org.onosproject.yangutils.datamodel.YangNodeType;
+import org.onosproject.yangutils.parser.exceptions.ParserException;
+import org.onosproject.yangutils.parser.impl.YangUtilsParserManager;
+
+import java.io.IOException;
+import java.util.ListIterator;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.Is.is;
+
+/**
+ * Test cases for unique listener.
+ */
+public class UniqueListenerTest {
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ private final YangUtilsParserManager manager = new YangUtilsParserManager();
+
+ /**
+ * Checks unique statement as sub-statement of list.
+ */
+ @Test
+ public void processListSubStatementUnique() throws IOException, ParserException {
+
+ YangNode node = manager.getDataModel("src/test/resources/ListSubStatementUnique.yang");
+
+ assertThat((node instanceof YangModule), is(true));
+
+ // Check whether the node type is set properly to module.
+ assertThat(node.getNodeType(), is(YangNodeType.MODULE_NODE));
+
+ // Check whether the module name is set correctly.
+ YangModule yangNode = (YangModule) node;
+ assertThat(yangNode.getName(), is("Test"));
+
+ // Check whether the list is child of module
+ YangList yangList = (YangList) yangNode.getChild();
+ assertThat(yangList.getName(), is("valid"));
+ assertThat(yangList.getUniqueList().listIterator().next(), is("invalid-interval"));
+ }
+
+ /**
+ * Check multiple unique values.
+ */
+ @Test
+ public void processMultipleUniqueValues() throws IOException, ParserException {
+
+ YangNode node = manager.getDataModel("src/test/resources/MultipleUniqueValues.yang");
+
+ assertThat((node instanceof YangModule), is(true));
+
+ // Check whether the node type is set properly to module.
+ assertThat(node.getNodeType(), is(YangNodeType.MODULE_NODE));
+
+ // Check whether the module name is set correctly.
+ YangModule yangNode = (YangModule) node;
+ assertThat(yangNode.getName(), is("Test"));
+
+ // Check whether the list is child of module
+ YangList yangList = (YangList) yangNode.getChild();
+ assertThat(yangList.getName(), is("valid"));
+ ListIterator<String> listIterator;
+ String list;
+ listIterator = yangList.getUniqueList().listIterator();
+ list = listIterator.next();
+ assertThat(list, is("ospf"));
+ list = listIterator.next();
+ assertThat(list, is("isis"));
+ }
+}
\ No newline at end of file