X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding2%2Fmdsal-binding2-generator-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fjavav2%2Fgenerator%2Fimpl%2FBindingGeneratorImplTest.java;fp=binding2%2Fmdsal-binding2-generator-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fjavav2%2Fgenerator%2Fimpl%2FBindingGeneratorImplTest.java;h=0000000000000000000000000000000000000000;hb=c9ced06c906691b0c58f9173fc06400cc565f106;hp=889ab25f75efbaff14eea1aeab45932ef4abe76f;hpb=b020023b71447f7fd2eee3c1eb4108578346da6d;p=mdsal.git diff --git a/binding2/mdsal-binding2-generator-impl/src/test/java/org/opendaylight/mdsal/binding/javav2/generator/impl/BindingGeneratorImplTest.java b/binding2/mdsal-binding2-generator-impl/src/test/java/org/opendaylight/mdsal/binding/javav2/generator/impl/BindingGeneratorImplTest.java deleted file mode 100644 index 889ab25f75..0000000000 --- a/binding2/mdsal-binding2-generator-impl/src/test/java/org/opendaylight/mdsal/binding/javav2/generator/impl/BindingGeneratorImplTest.java +++ /dev/null @@ -1,413 +0,0 @@ -/* - * Copyright (c) 2017 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.mdsal.binding.javav2.generator.impl; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import java.util.List; -import org.junit.Test; -import org.opendaylight.mdsal.binding.javav2.generator.api.BindingGenerator; -import org.opendaylight.mdsal.binding.javav2.model.api.Enumeration; -import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedProperty; -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.yangtools.yang.model.api.SchemaContext; -import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; - -public class BindingGeneratorImplTest { - - @Test - public void genTypesTypeDefTest() throws Exception { - final BindingGeneratorImpl bg = new BindingGeneratorImpl(false); - final SchemaContext schemaContext = YangParserTestUtils.parseYangResource("/generator/test-typedef.yang"); - final List generateTypes = bg.generateTypes(schemaContext); - assertNotNull(generateTypes); - for (final Type genType : generateTypes) { - if (genType.getName().equals("MyInnerCont") && genType.getPackageName() - .equals("org.opendaylight.mdsal.gen.javav2.urn.test.simple.test.rev170206.data.asteriskmy_cont")) { - final GeneratedType gt = (GeneratedType) genType; - for (final MethodSignature methodSignature : gt.getMethodDefinitions()) { - if (methodSignature.getName().equals("getMyLeaf2")) { - assertEquals(methodSignature.getReturnType().getName(), "MyType"); - } - } - } - } - } - - @Test - public void generatedTypesEnumTest() throws Exception { - final BindingGenerator bg = new BindingGeneratorImpl(false); - final SchemaContext context = YangParserTestUtils.parseYangResource("/generator/apple-test.yang"); - final List generateTypes = bg.generateTypes(context); - assertNotNull(generateTypes); - assertTrue(!generateTypes.isEmpty()); - for (final Type type : generateTypes) { - if (type.getName().equals("Apple") && type.getPackageName() - .equals("org.opendaylight.mdsal.gen.javav2.urn.test.simple.apple.rev170503.data")) { - final GeneratedType gt = (GeneratedType) type; - final Enumeration enumeration = gt.getEnumerations().get(0); - assertEquals("Apple1", enumeration.getName()); - assertEquals("org.opendaylight.mdsal.gen.javav2.urn.test.simple.apple.rev170503.data.Apple", - enumeration.getPackageName()); - assertEquals("apple", enumeration.getValues().get(0).getName()); - assertEquals("APPLE", enumeration.getValues().get(0).getMappedName()); - assertEquals("apple1", enumeration.getValues().get(1).getName()); - assertEquals("APPLE1", enumeration.getValues().get(1).getMappedName()); - } - } - } - - @Test - public void generatedTypesUsesEnumLeafTest() { - final BindingGenerator bg = new BindingGeneratorImpl(false); - final SchemaContext context = YangParserTestUtils.parseYangResources(BindingGeneratorImplTest.class, - "/uses-statement/test-uses-leaf-innertype-base.yang", "/uses-statement/test-uses-leaf-innertype.yang"); - final List generateTypes = bg.generateTypes(context); - assertNotNull(generateTypes); - assertTrue(!generateTypes.isEmpty()); - for (final Type type : generateTypes) { - if (type.getName().equals("MyCont") && type.getPackageName() - .equals("org.opendaylight.mdsal.gen.javav2.urn.test.uses.leaf.innertype.base.rev170809.data")) { - final GeneratedType gt = (GeneratedType) type; - final MethodSignature methodSignature = gt.getMethodDefinitions().get(0); - assertEquals("ErrorType", methodSignature.getReturnType().getName()); - } - - if (type.getName().equals("MyCont") && type.getPackageName() - .equals("org.opendaylight.mdsal.gen.javav2.urn.test.uses.leaf.innertype.rev170809.data")) { - final GeneratedType gt = (GeneratedType) type; - final MethodSignature methodSignature = gt.getMethodDefinitions().get(0); - assertEquals("ErrorType", methodSignature.getReturnType().getName()); - } - } - } - - @Test - public void generatedTypesUsesBitsLeafTest() { - final BindingGenerator bg = new BindingGeneratorImpl(false); - final SchemaContext context = YangParserTestUtils.parseYangResources(BindingGeneratorImplTest.class, - "/uses-statement/test-uses-leaf-innertype2-base.yang", "/uses-statement/test-uses-leaf-innertype2.yang"); - final List generateTypes = bg.generateTypes(context); - assertNotNull(generateTypes); - assertTrue(!generateTypes.isEmpty()); - for (final Type type : generateTypes) { - if (type.getName().equals("MyCont") && type.getPackageName() - .equals("org.opendaylight.mdsal.gen.javav2.urn.test.uses.leaf.innertype2.base.rev170809.data")) { - final GeneratedType gt = (GeneratedType) type; - for (MethodSignature methodSignature : gt.getMethodDefinitions()) { - if (methodSignature.getName().equals("getLeafBits")) { - assertEquals("LeafBits", methodSignature.getReturnType().getName()); - } - } - - } - - if (type.getName().equals("MyCont") && type.getPackageName() - .equals("org.opendaylight.mdsal.gen.javav2.urn.test.uses.leaf.innertype2.rev170809.data")) { - final GeneratedType gt = (GeneratedType) type; - for (MethodSignature methodSignature : gt.getMethodDefinitions()) { - if (methodSignature.getName().equals("getLeafBits")) { - assertEquals("LeafBits", methodSignature.getReturnType().getName()); - } - } - } - } - } - - @Test - public void generatedTypesUsesUnionLeafTest() { - final BindingGenerator bg = new BindingGeneratorImpl(false); - final SchemaContext context = YangParserTestUtils.parseYangResources(BindingGeneratorImplTest.class, - "/uses-statement/test-uses-leaf-innertype2-base.yang", "/uses-statement/test-uses-leaf-innertype2.yang"); - final List generateTypes = bg.generateTypes(context); - assertNotNull(generateTypes); - assertTrue(!generateTypes.isEmpty()); - for (final Type type : generateTypes) { - if (type.getName().equals("MyCont") && type.getPackageName() - .equals("org.opendaylight.mdsal.gen.javav2.urn.test.uses.leaf.innertype2.base.rev170809.data")) { - final GeneratedType gt = (GeneratedType) type; - for (MethodSignature methodSignature : gt.getMethodDefinitions()) { - if (methodSignature.getName().equals("getLeafUnion")) { - assertEquals("LeafUnion", methodSignature.getReturnType().getName()); - } - } - - } - - if (type.getName().equals("MyCont") && type.getPackageName() - .equals("org.opendaylight.mdsal.gen.javav2.urn.test.uses.leaf.innertype2.rev170809.data")) { - final GeneratedType gt = (GeneratedType) type; - for (MethodSignature methodSignature : gt.getMethodDefinitions()) { - if (methodSignature.getName().equals("getLeafUnion")) { - assertEquals("LeafUnion", methodSignature.getReturnType().getName()); - } - } - } - } - } - - @Test - public void generatedTypesUsesLeafTest() { - final BindingGenerator bg = new BindingGeneratorImpl(false); - final SchemaContext context = YangParserTestUtils.parseYangResources(BindingGeneratorImplTest.class, - "/uses-statement/test-uses-leaf-innertype2-base.yang", "/uses-statement/test-uses-leaf-innertype2.yang"); - final List generateTypes = bg.generateTypes(context); - assertNotNull(generateTypes); - assertTrue(!generateTypes.isEmpty()); - for (final Type type : generateTypes) { - if (type.getName().equals("MyCont") && type.getPackageName() - .equals("org.opendaylight.mdsal.gen.javav2.urn.test.uses.leaf.innertype2.base.rev170809.data")) { - final GeneratedType gt = (GeneratedType) type; - for (MethodSignature methodSignature : gt.getMethodDefinitions()) { - if (methodSignature.getName().equals("getLeafDecimal64")) { - assertEquals("BigDecimal", methodSignature.getReturnType().getName()); - } - } - - } - - if (type.getName().equals("MyCont") && type.getPackageName() - .equals("org.opendaylight.mdsal.gen.javav2.urn.test.uses.leaf.innertype2.rev170809.data")) { - final GeneratedType gt = (GeneratedType) type; - for (MethodSignature methodSignature : gt.getMethodDefinitions()) { - if (methodSignature.getName().equals("getLeafDecimal64")) { - assertEquals("BigDecimal", methodSignature.getReturnType().getName()); - } - } - } - } - } - - @Test - public void generatedTypesUsesLeafInnertype3Test() { - final BindingGenerator bg = new BindingGeneratorImpl(false); - final SchemaContext context = YangParserTestUtils.parseYangResources(BindingGeneratorImplTest.class, - "/uses-statement/test-uses-leaf-innertype3-base.yang", - "/uses-statement/test-uses-leaf-innertype3.yang"); - final List generateTypes = bg.generateTypes(context); - assertNotNull(generateTypes); - assertTrue(!generateTypes.isEmpty()); - for (final Type type : generateTypes) { - if (type.getName().equals("MyCont") && type.getPackageName() - .equals("org.opendaylight.mdsal.gen.javav2.urn.test.uses.leaf.innertype3.rev170809.data")) { - final GeneratedType gt = (GeneratedType) type; - for (MethodSignature methodSignature : gt.getMethodDefinitions()) { - if (methodSignature.getName().equals("getBandwidth")) { - assertEquals("Bandwidth", methodSignature.getReturnType().getName()); - } - } - - } - - if (type.getName().equals("Open") && type.getPackageName() - .equals("org.opendaylight.mdsal.gen.javav2.urn.test.uses.leaf.innertype3.rev170809.data")) { - final GeneratedType gt = (GeneratedType) type; - for (MethodSignature methodSignature : gt.getMethodDefinitions()) { - if (methodSignature.getName().equals("getVersion")) { - assertEquals("ProtocolVersion", methodSignature.getReturnType().getName()); - } - - if (methodSignature.getName().equals("getLeafUnion")) { - assertEquals("LeafUnion", methodSignature.getReturnType().getName()); - } - } - - } - } - } - - @Test - public void generatedTypesTest() { - final BindingGenerator bg = new BindingGeneratorImpl(false); - final SchemaContext context = YangParserTestUtils.parseYangResource("/generator/test-list.yang"); - final List generateTypes = bg.generateTypes(context); - - assertNotNull(generateTypes); - assertTrue(!generateTypes.isEmpty()); - assertEquals(3, generateTypes.size()); - final int[] test_i = { 0 }; - for (final Type t : generateTypes) { - if (t instanceof GeneratedTransferObject) { - final GeneratedTransferObject genTransferObj = (GeneratedTransferObject) t; - assertBaseGeneratedType(genTransferObj, "MyListKey", - "org.opendaylight.mdsal.gen.javav2.urn.test.simple.test.list.rev170314.key.my_list"); - assertEquals(3, genTransferObj.getProperties().size()); - int testJ = 0; - for (final GeneratedProperty generatedProperty : genTransferObj.getProperties()) { - switch (generatedProperty.getName()) { - case "keyReservedWord": - assertEquals("String", generatedProperty.getReturnType().getName()); - testJ++; - break; - case "key1": - assertEquals("String", generatedProperty.getReturnType().getName()); - testJ++; - break; - case "key2": - assertEquals("String", generatedProperty.getReturnType().getName()); - testJ++; - break; - default: - fail(); - } - } - assertEquals(3, testJ); - test_i[0] += 1; - } else { - testActualType((GeneratedType) t, test_i); - } - } - assertEquals(3, test_i[0]); - } - - @Test - public void generateTypesIdentityTest() throws Exception { - final BindingGenerator bg = new BindingGeneratorImpl(true); - final SchemaContext context = YangParserTestUtils.parseYangResourceDirectory("/identity/"); - assertNotNull(context); - - final List 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 GeneratedType genType = (GeneratedType)type; - assertEquals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden2", - genType.getImplements().stream().findFirst().get().getFullyQualifiedName()); - - } - if (type.getFullyQualifiedName() - .equals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden2")) { - final GeneratedType genType = (GeneratedType)type; - assertEquals("org.opendaylight.mdsal.gen.javav2.identity.import_.rev170602.ident.Iden1", - genType.getImplements().stream().findFirst().get().getFullyQualifiedName()); - - } - if (type.getFullyQualifiedName() - .equals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden3")) { - final GeneratedType genType = (GeneratedType)type; - assertEquals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden1", - genType.getImplements().stream().findFirst().get().getFullyQualifiedName()); - - } - if (type.getFullyQualifiedName() - .equals("org.opendaylight.mdsal.gen.javav2.identity4.module.rev180227.ident.Iden3")) { - final GeneratedType genType = (GeneratedType)type; - genType.getImplements().stream().forEach(impl -> { - final String fqn = impl.getFullyQualifiedName(); - assertTrue(fqn.equals( - "org.opendaylight.mdsal.gen.javav2.identity4.module.rev180227.ident.Iden1") - || fqn.equals( - "org.opendaylight.mdsal.gen.javav2.identity4.module.rev180227.ident.Iden2")); - }); - - } - } - } - - private void testActualType(final GeneratedType type, final int[] testI) { - MethodSignature methodSignature = null; - switch (type.getName()) { - case "TestListData": - assertEquals("org.opendaylight.mdsal.gen.javav2.urn.test.simple.test.list.rev170314", - type.getPackageName()); - methodSignature = type.getMethodDefinitions().get(0); - assertMethod(type, "getMyList", "List", "java.util", methodSignature); - testI[0] += 1; - break; - case "MyListKey": - assertEquals("org.opendaylight.mdsal.gen.javav2.urn.test.simple.test.list.rev170314.key.my_list", - type.getPackageName()); - methodSignature = type.getMethodDefinitions().get(0); - assertMethod(type, "getKey", "String", "java.lang", methodSignature); - testI[0] += 1; - break; - case "MyListKey1": - assertEquals("org.opendaylight.mdsal.gen.javav2.urn.test.simple.test.list.rev170314.key.my_list", - type.getPackageName()); - methodSignature = type.getMethodDefinitions().get(0); - assertMethod(type, "getKey1", "String", "java.lang", methodSignature); - testI[0] += 1; - break; - case "MyListKey2": - assertEquals("org.opendaylight.mdsal.gen.javav2.urn.test.simple.test.list.rev170314.key.my_list", - type.getPackageName()); - methodSignature = type.getMethodDefinitions().get(0); - assertMethod(type, "getKey2", "String", "java.lang", methodSignature); - testI[0] += 1; - break; - case "MyListFoo": - assertEquals("org.opendaylight.mdsal.gen.javav2.urn.test.simple.test.list.rev170314.data.my_list", - type.getPackageName()); - methodSignature = type.getMethodDefinitions().get(0); - assertMethod(type, "getFoo", "String", "java.lang", methodSignature); - testI[0] += 1; - break; - case "MyList": - assertEquals("org.opendaylight.mdsal.gen.javav2.urn.test.simple.test.list.rev170314.data", - type.getPackageName()); - assertEquals(5, type.getMethodDefinitions().size()); - int testJ = 0; - for (final MethodSignature m : type.getMethodDefinitions()) { - switch (m.getName()) { - case "getIdentifier": - assertMethod(type, "getIdentifier", "MyListKey", - "org.opendaylight.mdsal.gen.javav2.urn.test.simple.test.list.rev170314.key.my_list", m); - testJ++; - break; - case "getKey1": - assertMethod(type, "getKey1", "String","java.lang", m); - testJ++; - break; - case "getKey2": - assertMethod(type, "getKey2", "String","java.lang", m); - testJ++; - break; - case "getFoo": - assertMethod(type, "getFoo", "String","java.lang", m); - testJ++; - break; - case "getKeyReservedWord": - assertMethod(type, "getKeyReservedWord", "String","java.lang", m); - testJ++; - break; - default: - fail(); - } - } - assertEquals(5, testJ); - testI[0] += 1; - break; - default: - fail(); - } - } - - private static void assertBaseGeneratedType(final GeneratedType genType, final String name, - final String packageName) { - assertEquals(name, genType.getName()); - - } - - private static void assertMethod(final GeneratedType definingTypeExpected, final String nameExpected, - final String typeNameExpected, final String typePackageNameExpected, - final MethodSignature methodSignature) { - assertEquals(definingTypeExpected, methodSignature.getDefiningType()); - assertEquals(nameExpected, methodSignature.getName()); - assertEquals(typeNameExpected, methodSignature.getReturnType().getName()); - assertEquals(typePackageNameExpected, methodSignature.getReturnType().getPackageName()); - } - -}