Added instance identifier support.
[yangtools.git] / code-generator / binding-generator-impl / src / test / java / org / opendaylight / yangtools / sal / binding / generator / impl / AugmentedTypeTest.java
index 5c569d3b4f2d986a042d97480a409995903f34f4..b8b8cf7b15ade3934939f55601f060b94a238b26 100644 (file)
-/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.yangtools.sal.binding.generator.impl;
-
-import static org.junit.Assert.*;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.opendaylight.yangtools.sal.binding.generator.api.BindingGenerator;
-import org.opendaylight.yangtools.sal.binding.model.api.GeneratedProperty;
-import org.opendaylight.yangtools.sal.binding.model.api.GeneratedTransferObject;
-import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType;
-import org.opendaylight.yangtools.sal.binding.model.api.MethodSignature;
-import org.opendaylight.yangtools.sal.binding.model.api.Type;
-import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.model.parser.api.YangModelParser;
-import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl;
-
-public class AugmentedTypeTest {
-
-    private final static List<File> augmentModels = new ArrayList<>();
-    private final static String augmentFolderPath = AugmentedTypeTest.class
-            .getResource("/augment-test-models").getPath();
-
-    @BeforeClass
-    public static void loadTestResources() {
-        final File augFolder = new File(augmentFolderPath);
-
-        for (final File fileEntry : augFolder.listFiles()) {
-            if (fileEntry.isFile()) {
-                augmentModels.add(fileEntry);
-            }
-        }
-    }
-
-    @Test
-    public void augmentedAbstractTopologyTest() {
-        final YangModelParser parser = new YangParserImpl();
-        final Set<Module> modules = parser.parseYangModels(augmentModels);
-        final SchemaContext context = parser.resolveSchemaContext(modules);
-
-        assertNotNull("context is null", context);
-        final BindingGenerator bindingGen = new BindingGeneratorImpl();
-        final List<Type> genTypes = bindingGen.generateTypes(context);
-
-        assertNotNull("genTypes is null", genTypes);
-        assertFalse("genTypes is empty", genTypes.isEmpty());
-
-        GeneratedTransferObject gtInterfaceKey = null;
-        GeneratedType gtInterface = null;
-        GeneratedType gtTunnel = null;
-        GeneratedTransferObject gtTunnelKey = null;
-        GeneratedType gtNetworkLink2 = null;
-
-        for (final Type type : genTypes) {
-            if (type.getName().equals("InterfaceKey") && type.getPackageName().contains("augment._abstract.topology")) {
-                gtInterfaceKey = (GeneratedTransferObject) type;
-            } else if (type.getName().equals("Interface") && type.getPackageName().contains("augment._abstract.topology")) {
-                gtInterface = (GeneratedType) type;
-            } else if (type.getName().equals("Tunnel") && type.getPackageName().contains("augment._abstract.topology")) {
-                gtTunnel = (GeneratedType) type;
-            } else if (type.getName().equals("TunnelKey") && type.getPackageName().contains("augment._abstract.topology")) {
-                gtTunnelKey = (GeneratedTransferObject) type;
-            } else if (type.getName().equals("NetworkLink2") && type.getPackageName().contains("augment._abstract.topology")) {
-                gtNetworkLink2 = (GeneratedType) type;
-            }
-        }
-
-        // 'Interface
-        assertNotNull("gtInterface is null", gtInterface);
-        final List<MethodSignature> gtInterfaceMethods = gtInterface.getMethodDefinitions();
-        assertNotNull("gtInterfaceMethods is null", gtInterfaceMethods);
-        MethodSignature getIfcKeyMethod = null;
-        for (final MethodSignature method : gtInterfaceMethods) {
-            if (method.getName().equals("getInterfaceKey")) {
-                getIfcKeyMethod = method;
-                break;
-            }
-        }
-        assertNotNull("getIfcKeyMethod is null", getIfcKeyMethod);
-        assertNotNull("getIfcKeyMethod.getReturnType() is null", getIfcKeyMethod.getReturnType());
-        assertFalse("getIfcKeyMethod.getReturnType() should not be Void",
-                getIfcKeyMethod.getReturnType().equals("java.lang.Void"));
-        assertTrue("getIfcKeyMethod.getReturnType().getName() must be InterfaceKey",
-                getIfcKeyMethod.getReturnType().getName().equals("InterfaceKey"));
-
-        MethodSignature getHigherLayerIfMethod = null;
-        for (final MethodSignature method : gtInterfaceMethods) {
-            if (method.getName().equals("getHigherLayerIf")) {
-                getHigherLayerIfMethod = method;
-                break;
-            }
-        }
-        assertNotNull("getHigherLayerIfMethod is null", getHigherLayerIfMethod);
-        assertNotNull("getHigherLayerIfMethod.getReturnType() is null",
-                getHigherLayerIfMethod.getReturnType());
-        assertFalse("getHigherLayerIfMethod.getReturnType() should not be Void",
-                getHigherLayerIfMethod.getReturnType().equals("java.lang.Void"));
-        assertTrue("getHigherLayerIfMethod.getReturnType().getName() must be List",
-                getHigherLayerIfMethod.getReturnType().getName().equals("List"));
-
-        // 'InterfaceKey'
-        assertNotNull("gtInterfaceKey is null", gtInterfaceKey);
-        final List<GeneratedProperty> properties = gtInterfaceKey.getProperties();
-        assertNotNull("properties is null", properties);
-        GeneratedProperty gtInterfaceId = null;
-        for (final GeneratedProperty property : properties) {
-            if (property.getName().equals("InterfaceId")) {
-                gtInterfaceId = property;
-                break;
-            }
-        }
-        assertNotNull("gtInterfaceId is null", gtInterfaceId);
-        assertNotNull("gtInterfaceId.getReturnType() is null", gtInterfaceId.getReturnType());
-        assertFalse("gtInterfaceId.getReturnType() should not be Void",
-                gtInterfaceId.getReturnType().equals("java.lang.Void"));
-        assertTrue("gtInterfaceId.getReturnType().getName() must be String",
-                gtInterfaceId.getReturnType().getName().equals("String"));
-
-        // 'Tunnel'
-        assertNotNull("gtTunnel is null", gtTunnel);
-        final List<MethodSignature> tunnelMethods = gtTunnel.getMethodDefinitions();
-        assertNotNull("tunnelMethods is null", tunnelMethods);
-        MethodSignature getTunnelKeyMethod = null;
-        for (MethodSignature method : tunnelMethods) {
-            if (method.getName().equals("getTunnelKey")) {
-                getTunnelKeyMethod = method;
-                break;
-            }
-        }
-        assertNotNull("getTunnelKeyMethod is null", getTunnelKeyMethod);
-        assertNotNull("getTunnelKeyMethod.getReturnType()",
-                getTunnelKeyMethod.getReturnType());
-        assertFalse("getTunnelKeyMethod.getReturnType() should not be Void",
-                getTunnelKeyMethod.getReturnType().equals("java.lang.Void"));
-        assertTrue("getTunnelKeyMethod.getReturnType().getName() must be TunnelKey",
-                getTunnelKeyMethod.getReturnType().getName().equals("TunnelKey"));
-
-        // 'TunnelKey'
-        assertNotNull("gtTunnelKey is null", gtTunnelKey);
-        final List<GeneratedProperty> tunnelKeyProperties = gtTunnelKey.getProperties();
-        assertNotNull("tunnelKeyProperties is null", tunnelKeyProperties);
-
-        GeneratedProperty gtTunnelId = null;
-        for (final GeneratedProperty property : tunnelKeyProperties) {
-            if (property.getName().equals("TunnelId")) {
-                gtTunnelId = property;
-            }
-        }
-        assertNotNull("gtTunnelId is null", gtTunnelId);
-        assertNotNull("gtTunnelId.getReturnType() is null",
-                gtTunnelId.getReturnType());
-        assertFalse("gtTunnelId.getReturnType() should not be Void",
-                gtTunnelId.getReturnType().equals("java.lang.Void"));
-        assertTrue("gtTunnelId.getReturnType().getName() must be Integer",
-                gtTunnelId.getReturnType().getName().equals("Integer"));
-
-        // 'NetworkLink2'
-        assertNotNull("gtNetworkLink2 is null", gtNetworkLink2);
-
-        final List<MethodSignature> networkLink2Methods = gtNetworkLink2.getMethodDefinitions();
-        assertNotNull("networkLink2Methods is null", networkLink2Methods);
-
-//        FIXME: in some cases getIfcMethod is null which causes test fail. fix ASAP
-//      MethodSignature getIfcMethod = null;
-//      for (MethodSignature method : networkLink2Methods) {
-//          if (method.getName().equals("getInterface")) {
-//              getIfcMethod = method;
-//              break;
-//          }
-//      }
-//
-//      assertNotNull("getIfcMethod is null", getIfcMethod);
-//      assertNotNull("getIfcMethod.getReturnType() is null", getIfcMethod.getReturnType());
-//      assertFalse("getIfcMethod.getReturnType() should not be Void", getIfcMethod.getReturnType().equals("java.lang.Void"));
-//      assertTrue("getIfcMethod.getReturnType().getName() must be String", getIfcMethod.getReturnType().getName().equals("String"));
-    }
-
-    @Test
-    public void augmentedNetworkLinkTest() {
-
-    }
-
-    @Test
-    public void augmentedTopologyTunnelsTest() {
-
-    }
-}
+/*\r
+ * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+package org.opendaylight.yangtools.sal.binding.generator.impl;\r
+\r
+import static org.junit.Assert.*;\r
+\r
+import java.io.File;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+import java.util.Set;\r
+\r
+import org.junit.BeforeClass;\r
+import org.junit.Test;\r
+import org.opendaylight.yangtools.sal.binding.generator.api.BindingGenerator;\r
+import org.opendaylight.yangtools.sal.binding.model.api.GeneratedProperty;\r
+import org.opendaylight.yangtools.sal.binding.model.api.GeneratedTransferObject;\r
+import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType;\r
+import org.opendaylight.yangtools.sal.binding.model.api.MethodSignature;\r
+import org.opendaylight.yangtools.sal.binding.model.api.Type;\r
+import org.opendaylight.yangtools.yang.model.api.Module;\r
+import org.opendaylight.yangtools.yang.model.api.SchemaContext;\r
+import org.opendaylight.yangtools.yang.model.parser.api.YangModelParser;\r
+import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl;\r
+\r
+public class AugmentedTypeTest {\r
+\r
+    private final static List<File> augmentModels = new ArrayList<>();\r
+    private final static String augmentFolderPath = AugmentedTypeTest.class\r
+            .getResource("/augment-test-models").getPath();\r
+\r
+    @BeforeClass\r
+    public static void loadTestResources() {\r
+        final File augFolder = new File(augmentFolderPath);\r
+\r
+        for (final File fileEntry : augFolder.listFiles()) {\r
+            if (fileEntry.isFile()) {\r
+                augmentModels.add(fileEntry);\r
+            }\r
+        }\r
+    }\r
+\r
+    @Test\r
+    public void augmentedAbstractTopologyTest() {\r
+        final YangModelParser parser = new YangParserImpl();\r
+        final Set<Module> modules = parser.parseYangModels(augmentModels);\r
+        final SchemaContext context = parser.resolveSchemaContext(modules);\r
+\r
+        assertNotNull("context is null", context);\r
+        final BindingGenerator bindingGen = new BindingGeneratorImpl();\r
+        final List<Type> genTypes = bindingGen.generateTypes(context);\r
+\r
+        assertNotNull("genTypes is null", genTypes);\r
+        assertFalse("genTypes is empty", genTypes.isEmpty());\r
+\r
+        GeneratedTransferObject gtInterfaceKey = null;\r
+        GeneratedType gtInterface = null;\r
+        GeneratedType gtTunnel = null;\r
+        GeneratedTransferObject gtTunnelKey = null;\r
+        GeneratedType gtNetworkLink2 = null;\r
+\r
+        for (final Type type : genTypes) {\r
+            if (type.getName().equals("InterfaceKey") && type.getPackageName().contains("augment._abstract.topology")) {\r
+                gtInterfaceKey = (GeneratedTransferObject) type;\r
+            } else if (type.getName().equals("Interface") && type.getPackageName().contains("augment._abstract.topology")) {\r
+                gtInterface = (GeneratedType) type;\r
+            } else if (type.getName().equals("Tunnel") && type.getPackageName().contains("augment._abstract.topology")) {\r
+                gtTunnel = (GeneratedType) type;\r
+            } else if (type.getName().equals("TunnelKey") && type.getPackageName().contains("augment._abstract.topology")) {\r
+                gtTunnelKey = (GeneratedTransferObject) type;\r
+            } else if (type.getName().equals("NetworkLink2") && type.getPackageName().contains("augment._abstract.topology")) {\r
+                gtNetworkLink2 = (GeneratedType) type;\r
+            }\r
+        }\r
+\r
+        // 'Interface\r
+        assertNotNull("gtInterface is null", gtInterface);\r
+        final List<MethodSignature> gtInterfaceMethods = gtInterface.getMethodDefinitions();\r
+        assertNotNull("gtInterfaceMethods is null", gtInterfaceMethods);\r
+        MethodSignature getIfcKeyMethod = null;\r
+        for (final MethodSignature method : gtInterfaceMethods) {\r
+            if (method.getName().equals("getKey")) {\r
+                getIfcKeyMethod = method;\r
+                break;\r
+            }\r
+        }\r
+        assertNotNull("getIfcKeyMethod is null", getIfcKeyMethod);\r
+        assertNotNull("getIfcKeyMethod.getReturnType() is null", getIfcKeyMethod.getReturnType());\r
+        assertFalse("getIfcKeyMethod.getReturnType() should not be Void",\r
+                getIfcKeyMethod.getReturnType().equals("java.lang.Void"));\r
+        assertTrue("getIfcKeyMethod.getReturnType().getName() must be InterfaceKey",\r
+                getIfcKeyMethod.getReturnType().getName().equals("InterfaceKey"));\r
+\r
+        MethodSignature getHigherLayerIfMethod = null;\r
+        for (final MethodSignature method : gtInterfaceMethods) {\r
+            if (method.getName().equals("getHigherLayerIf")) {\r
+                getHigherLayerIfMethod = method;\r
+                break;\r
+            }\r
+        }\r
+        assertNotNull("getHigherLayerIfMethod is null", getHigherLayerIfMethod);\r
+        assertNotNull("getHigherLayerIfMethod.getReturnType() is null",\r
+                getHigherLayerIfMethod.getReturnType());\r
+        assertFalse("getHigherLayerIfMethod.getReturnType() should not be Void",\r
+                getHigherLayerIfMethod.getReturnType().equals("java.lang.Void"));\r
+        assertTrue("getHigherLayerIfMethod.getReturnType().getName() must be List",\r
+                getHigherLayerIfMethod.getReturnType().getName().equals("List"));\r
+\r
+        // 'InterfaceKey'\r
+        assertNotNull("gtInterfaceKey is null", gtInterfaceKey);\r
+        final List<GeneratedProperty> properties = gtInterfaceKey.getProperties();\r
+        assertNotNull("properties is null", properties);\r
+        GeneratedProperty gtInterfaceId = null;\r
+        for (final GeneratedProperty property : properties) {\r
+            if (property.getName().equals("InterfaceId")) {\r
+                gtInterfaceId = property;\r
+                break;\r
+            }\r
+        }\r
+        assertNotNull("gtInterfaceId is null", gtInterfaceId);\r
+        assertNotNull("gtInterfaceId.getReturnType() is null", gtInterfaceId.getReturnType());\r
+        assertFalse("gtInterfaceId.getReturnType() should not be Void",\r
+                gtInterfaceId.getReturnType().equals("java.lang.Void"));\r
+        assertTrue("gtInterfaceId.getReturnType().getName() must be String",\r
+                gtInterfaceId.getReturnType().getName().equals("String"));\r
+\r
+        // 'Tunnel'\r
+        assertNotNull("gtTunnel is null", gtTunnel);\r
+        final List<MethodSignature> tunnelMethods = gtTunnel.getMethodDefinitions();\r
+        assertNotNull("tunnelMethods is null", tunnelMethods);\r
+        MethodSignature getTunnelKeyMethod = null;\r
+        for (MethodSignature method : tunnelMethods) {\r
+            if (method.getName().equals("getKey")) {\r
+                getTunnelKeyMethod = method;\r
+                break;\r
+            }\r
+        }\r
+        assertNotNull("getTunnelKeyMethod is null", getTunnelKeyMethod);\r
+        assertNotNull("getTunnelKeyMethod.getReturnType()",\r
+                getTunnelKeyMethod.getReturnType());\r
+        assertFalse("getTunnelKeyMethod.getReturnType() should not be Void",\r
+                getTunnelKeyMethod.getReturnType().equals("java.lang.Void"));\r
+        assertTrue("getTunnelKeyMethod.getReturnType().getName() must be TunnelKey",\r
+                getTunnelKeyMethod.getReturnType().getName().equals("TunnelKey"));\r
+\r
+        // 'TunnelKey'\r
+        assertNotNull("gtTunnelKey is null", gtTunnelKey);\r
+        final List<GeneratedProperty> tunnelKeyProperties = gtTunnelKey.getProperties();\r
+        assertNotNull("tunnelKeyProperties is null", tunnelKeyProperties);\r
+\r
+        GeneratedProperty gtTunnelId = null;\r
+        for (final GeneratedProperty property : tunnelKeyProperties) {\r
+            if (property.getName().equals("TunnelId")) {\r
+                gtTunnelId = property;\r
+            }\r
+        }\r
+        assertNotNull("gtTunnelId is null", gtTunnelId);\r
+        assertNotNull("gtTunnelId.getReturnType() is null",\r
+                gtTunnelId.getReturnType());\r
+        assertFalse("gtTunnelId.getReturnType() should not be Void",\r
+                gtTunnelId.getReturnType().equals("java.lang.Void"));\r
+        assertTrue("gtTunnelId.getReturnType().getName() must be Integer",\r
+                gtTunnelId.getReturnType().getName().equals("Integer"));\r
+\r
+        // 'NetworkLink2'\r
+        assertNotNull("gtNetworkLink2 is null", gtNetworkLink2);\r
+\r
+        final List<MethodSignature> networkLink2Methods = gtNetworkLink2.getMethodDefinitions();\r
+        assertNotNull("networkLink2Methods is null", networkLink2Methods);\r
+\r
+//        FIXME: in some cases getIfcMethod is null which causes test fail. fix ASAP\r
+//      MethodSignature getIfcMethod = null;\r
+//      for (MethodSignature method : networkLink2Methods) {\r
+//          if (method.getName().equals("getInterface")) {\r
+//              getIfcMethod = method;\r
+//              break;\r
+//          }\r
+//      }\r
+//\r
+//      assertNotNull("getIfcMethod is null", getIfcMethod);\r
+//      assertNotNull("getIfcMethod.getReturnType() is null", getIfcMethod.getReturnType());\r
+//      assertFalse("getIfcMethod.getReturnType() should not be Void", getIfcMethod.getReturnType().equals("java.lang.Void"));\r
+//      assertTrue("getIfcMethod.getReturnType().getName() must be String", getIfcMethod.getReturnType().getName().equals("String"));\r
+    }\r
+\r
+    @Test\r
+    public void augmentedNetworkLinkTest() {\r
+\r
+    }\r
+\r
+    @Test\r
+    public void augmentedTopologyTunnelsTest() {\r
+\r
+    }\r
+}\r