[ONOS-3908] YANG container translator.
Change-Id: I4e239509df747238905ca0995f41019679093627
diff --git a/src/test/java/org/onosproject/yangutils/translator/tojava/utils/JavaCodeSnippetGenTest.java b/src/test/java/org/onosproject/yangutils/translator/tojava/utils/JavaCodeSnippetGenTest.java
new file mode 100644
index 0000000..bf73689
--- /dev/null
+++ b/src/test/java/org/onosproject/yangutils/translator/tojava/utils/JavaCodeSnippetGenTest.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2016 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.translator.tojava.utils;
+
+import org.junit.Test;
+import org.onosproject.yangutils.datamodel.YangDataTypes;
+import org.onosproject.yangutils.datamodel.YangType;
+import org.onosproject.yangutils.translator.GeneratedFileType;
+import org.onosproject.yangutils.translator.tojava.GeneratedMethodTypes;
+import org.onosproject.yangutils.translator.tojava.ImportInfo;
+import org.onosproject.yangutils.utils.UtilConstants;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.Is.is;
+
+/**
+ * Unit test cases for java code snippet generator.
+ */
+public class JavaCodeSnippetGenTest {
+
+ private static final String PKG_INFO = "org.onosproject.unittest";
+ private static final String CLASS_INFO = "JavaCodeSnippetGenTest";
+ private static final GeneratedFileType FILE_GEN_TYPE = GeneratedFileType.INTERFACE;
+ private static final GeneratedMethodTypes METHOD_GEN_TYPE = GeneratedMethodTypes.GETTER;
+ private static final String YANG_NAME = "Test";
+ private static final String STRING = "String";
+
+ /**
+ * Unit test case for import text.
+ */
+ @Test
+ public void testForImportText() {
+ ImportInfo importInfo = new ImportInfo();
+ importInfo.setPkgInfo(PKG_INFO);
+ importInfo.setClassInfo(CLASS_INFO);
+
+ String imports = JavaCodeSnippetGen.getImportText(importInfo);
+
+ assertThat(true, is(imports.equals(UtilConstants.IMPORT + PKG_INFO + UtilConstants.PERIOD + CLASS_INFO
+ + UtilConstants.SEMI_COLAN + UtilConstants.NEW_LINE)));
+ }
+
+ /**
+ * Unit test case for java class definition start.
+ */
+ @Test
+ public void testForJavaClassDefStart() {
+ String classDef = JavaCodeSnippetGen.getJavaClassDefStart(FILE_GEN_TYPE, YANG_NAME);
+ assertThat(true,
+ is(classDef.equals(UtilConstants.PUBLIC + UtilConstants.SPACE + UtilConstants.INTERFACE
+ + UtilConstants.SPACE + YANG_NAME + UtilConstants.SPACE + UtilConstants.OPEN_CURLY_BRACKET
+ + UtilConstants.NEW_LINE)));
+ }
+
+ /**
+ * Unit test case for java attribute info.
+ */
+ @SuppressWarnings("rawtypes")
+ @Test
+ public void testForJavaAttributeInfo() {
+
+ String attributeWithType = JavaCodeSnippetGen.getJavaAttributeInfo(FILE_GEN_TYPE, YANG_NAME, getType());
+ assertThat(true, is(attributeWithType.equals(UtilConstants.PRIVATE + UtilConstants.SPACE
+ + getType().getDataTypeName() + UtilConstants.SPACE + YANG_NAME + UtilConstants.SEMI_COLAN)));
+
+ String attributeWithoutType = JavaCodeSnippetGen.getJavaAttributeInfo(FILE_GEN_TYPE, YANG_NAME, null);
+ assertThat(true,
+ is(attributeWithoutType.equals(
+ UtilConstants.PRIVATE + UtilConstants.SPACE + JavaIdentifierSyntax.getCaptialCase(YANG_NAME)
+ + UtilConstants.SPACE + YANG_NAME + UtilConstants.SEMI_COLAN)));
+
+ }
+
+ /**
+ * Unit test case for list attribute.
+ */
+ @Test
+ public void testForListAttribute() {
+ String listAttribute = JavaCodeSnippetGen.getListAttribute(STRING);
+ assertThat(true, is(listAttribute.equals(UtilConstants.LIST + UtilConstants.DIAMOND_OPEN_BRACKET + STRING
+ + UtilConstants.DIAMOND_CLOSE_BRACKET)));
+ }
+
+ /**
+ * Unit test case for java method info.
+ */
+ @Test
+ public void testForJavaMethodInfo() {
+
+ String method = JavaCodeSnippetGen.getJavaMethodInfo(FILE_GEN_TYPE, YANG_NAME, METHOD_GEN_TYPE, getType());
+ assertThat(true,
+ is(method.equals(UtilConstants.FOUR_SPACE_INDENTATION
+ + JavaIdentifierSyntax.getCaptialCase(getType().getDataTypeName()) + UtilConstants.SPACE
+ + UtilConstants.GET_METHOD_PREFIX + JavaIdentifierSyntax.getCaptialCase(YANG_NAME)
+ + UtilConstants.OPEN_PARENTHESIS + UtilConstants.CLOSE_PARENTHESIS
+ + UtilConstants.SEMI_COLAN)));
+ }
+
+ /**
+ * Unit test case for java class definition close.
+ */
+ @Test
+ public void testForJavaClassDefClose() {
+ String classDef = JavaCodeSnippetGen.getJavaClassDefClose(FILE_GEN_TYPE, YANG_NAME);
+ assertThat(true, is(classDef.equals(UtilConstants.CLOSE_CURLY_BRACKET)));
+ }
+
+ /**
+ * Returns YANG type.
+ *
+ * @return type
+ */
+ @SuppressWarnings("rawtypes")
+ private YangType<?> getType() {
+ YangType<?> type = new YangType();
+ type.setDataTypeName(STRING);
+ type.setDataType(YangDataTypes.STRING);
+ return type;
+ }
+}