Binding generator v2 - uses statement - uses of list
[mdsal.git] / binding2 / mdsal-binding2-generator-impl / src / test / java / org / opendaylight / mdsal / binding / javav2 / generator / impl / BindingGeneratorImplTest.java
index aa92f2e44c75897fedc859f652e3c0105aa29e33..674632cc3b726ff0da277043877eb4f3e50bb873 100644 (file)
@@ -21,6 +21,7 @@ import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedTransferObject;
 import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedType;
 import org.opendaylight.mdsal.binding.javav2.model.api.MethodSignature;
 import org.opendaylight.mdsal.binding.javav2.model.api.Type;
+import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.GeneratedTOBuilder;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
@@ -87,7 +88,7 @@ public class BindingGeneratorImplTest {
                 int test_j = 0;
                 for (final GeneratedProperty generatedProperty : genTransferObj.getProperties()) {
                     switch (generatedProperty.getName()) {
-                        case "key":
+                        case "keyReservedWord":
                             assertEquals("String", generatedProperty.getReturnType().getName());
                             test_j++;
                             break;
@@ -134,6 +135,40 @@ public class BindingGeneratorImplTest {
         }
     }
 
+    @Test
+    public void generateTypesIdentityTest() throws Exception {
+        final BindingGenerator bg = new BindingGeneratorImpl(true);
+        final SchemaContext context = YangParserTestUtils.parseYangSources("/identity/");
+        assertNotNull(context);
+
+        final List<Type> generateTypes = bg.generateTypes(context, context.getModules());
+        assertNotNull(generateTypes);
+        assertTrue(!generateTypes.isEmpty());
+        for (final Type type : generateTypes) {
+            if (type.getFullyQualifiedName()
+                    .equals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden1")) {
+                final GeneratedTransferObject genTO = (GeneratedTransferObject)type;
+                assertEquals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden2",
+                        genTO.getSuperType().getFullyQualifiedName());
+
+            }
+            if (type.getFullyQualifiedName()
+                    .equals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden2")) {
+                final GeneratedTransferObject genTO = (GeneratedTransferObject)type;
+                assertEquals("org.opendaylight.mdsal.gen.javav2.identity.import_.rev170602.ident.Iden1",
+                        genTO.getSuperType().getFullyQualifiedName());
+
+            }
+            if (type.getFullyQualifiedName()
+                    .equals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden3")) {
+                final GeneratedTransferObject genTO = (GeneratedTransferObject)type;
+                assertEquals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden1",
+                        genTO.getSuperType().getFullyQualifiedName());
+
+            }
+        }
+    }
+
     private void testActualType(final GeneratedType t, final int[] test_i) {
         MethodSignature methodSignature = null;
         switch (t.getName()) {
@@ -185,20 +220,20 @@ public class BindingGeneratorImplTest {
                                         m);
                             test_j++;
                             break;
-                        case "getMyListKey1":
-                            assertMethod(t, "getMyListKey1", "String","java.lang", m);
+                        case "getKey1":
+                            assertMethod(t, "getKey1", "String","java.lang", m);
                             test_j++;
                             break;
-                        case "getMyListKey2":
-                            assertMethod(t, "getMyListKey2", "String","java.lang", m);
+                        case "getKey2":
+                            assertMethod(t, "getKey2", "String","java.lang", m);
                             test_j++;
                             break;
-                        case "getMyListFoo":
-                            assertMethod(t, "getMyListFoo", "String","java.lang", m);
+                        case "getFoo":
+                            assertMethod(t, "getFoo", "String","java.lang", m);
                             test_j++;
                             break;
-                        case "getMyListKey":
-                            assertMethod(t, "getMyListKey", "String","java.lang", m);
+                        case "getKeyReservedWord":
+                            assertMethod(t, "getKeyReservedWord", "String","java.lang", m);
                             test_j++;
                             break;
                         default: