X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-java-api-generator%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fjava%2Fapi%2Fgenerator%2Ftest%2FCompilationTest.java;h=aa6fba71f3eec286fcc785d82b69843473c0d8f3;hb=50855450c6fac03ca45636ab7d41f7c8dccfb02e;hp=c2a3d2fa3a5282f6bf9a0ac789b142efb9d9499b;hpb=ab4e739a7dfbe6ea39a80d7e2219303dfe6148ce;p=mdsal.git diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/test/CompilationTest.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/test/CompilationTest.java index c2a3d2fa3a..aa6fba71f3 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/test/CompilationTest.java +++ b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/test/CompilationTest.java @@ -24,7 +24,6 @@ import java.lang.reflect.Modifier; import java.lang.reflect.ParameterizedType; import java.lang.reflect.WildcardType; import java.math.BigDecimal; -import java.math.BigInteger; import java.net.URISyntaxException; import java.net.URL; import java.net.URLClassLoader; @@ -36,6 +35,11 @@ import java.util.stream.Collectors; import org.junit.Test; import org.opendaylight.yangtools.yang.binding.ChildOf; import org.opendaylight.yangtools.yang.binding.annotations.RoutingContext; +import org.opendaylight.yangtools.yang.common.Empty; +import org.opendaylight.yangtools.yang.common.Uint16; +import org.opendaylight.yangtools.yang.common.Uint32; +import org.opendaylight.yangtools.yang.common.Uint64; +import org.opendaylight.yangtools.yang.common.Uint8; /** * Test correct code generation. @@ -89,7 +93,7 @@ public class CompilationTest extends BaseCompilationTest { assertTrue(nodeList.exists()); assertTrue(nodeListBuilder.exists()); assertTrue(nodesType.exists()); - CompilationTestUtils.assertFilesCount(parent, 7); + CompilationTestUtils.assertFilesCount(parent, 8); // Test if sources are compilable CompilationTestUtils.testCompilation(sourcesOutputDir, compiledOutputDir); @@ -111,8 +115,7 @@ public class CompilationTest extends BaseCompilationTest { // Test generated 'list links' assertTrue(linksClass.isInterface()); CompilationTestUtils.assertImplementsIfc(linksClass, keyArgsClass); - // TODO: anyxml - assertEquals(6, abstractMethods(linksClass).size()); + assertEquals(7, abstractMethods(linksClass).size()); // Test list key constructor arguments ordering CompilationTestUtils.assertContainsConstructor(linksKeyClass, Byte.class, String.class, Integer.class); @@ -391,7 +394,7 @@ public class CompilationTest extends BaseCompilationTest { CompilationTestUtils.assertContainsMethod(nodesClass, pkg + ".Nodes$IdBits", "getIdBits", loader); CompilationTestUtils.assertContainsMethod(nodesClass, Boolean.class, "isIdBoolean"); CompilationTestUtils.assertContainsMethod(nodesClass, BigDecimal.class, "getIdDecimal64"); - CompilationTestUtils.assertContainsMethod(nodesClass, Boolean.class, "isIdEmpty"); + CompilationTestUtils.assertContainsMethod(nodesClass, Empty.class, "getIdEmpty"); CompilationTestUtils.assertContainsMethod(nodesClass, pkg + ".Nodes$IdEnumeration", "getIdEnumeration", loader); testReturnTypeIdentityref(nodesClass, "getIdIdentityref", pkg + ".Alg"); testReturnTypeInstanceIdentitifer(loader, nodesClass, "getIdInstanceIdentifier"); @@ -401,10 +404,10 @@ public class CompilationTest extends BaseCompilationTest { CompilationTestUtils.assertContainsMethod(nodesClass, Long.class, "getId64"); CompilationTestUtils.assertContainsMethod(nodesClass, Long.class, "getIdLeafref"); CompilationTestUtils.assertContainsMethod(nodesClass, String.class, "getIdString"); - CompilationTestUtils.assertContainsMethod(nodesClass, Short.class, "getIdU8"); - CompilationTestUtils.assertContainsMethod(nodesClass, Integer.class, "getIdU16"); - CompilationTestUtils.assertContainsMethod(nodesClass, Long.class, "getIdU32"); - CompilationTestUtils.assertContainsMethod(nodesClass, BigInteger.class, "getIdU64"); + CompilationTestUtils.assertContainsMethod(nodesClass, Uint8.class, "getIdU8"); + CompilationTestUtils.assertContainsMethod(nodesClass, Uint16.class, "getIdU16"); + CompilationTestUtils.assertContainsMethod(nodesClass, Uint32.class, "getIdU32"); + CompilationTestUtils.assertContainsMethod(nodesClass, Uint64.class, "getIdU64"); CompilationTestUtils.assertContainsMethod(nodesClass, pkg + ".Nodes$IdUnion", "getIdUnion", loader); final Object builderObj = builderClass.getDeclaredConstructor().newInstance(); @@ -681,6 +684,24 @@ public class CompilationTest extends BaseCompilationTest { CompilationTestUtils.cleanUp(sourcesOutputDir, compiledOutputDir); } + @Test + public void testMdsal529() throws Exception { + final File sourcesOutputDir = CompilationTestUtils.generatorOutput("mdsal529"); + final File compiledOutputDir = CompilationTestUtils.compilerOutput("mdsal529"); + generateTestSources("/compilation/mdsal529", sourcesOutputDir); + CompilationTestUtils.testCompilation(sourcesOutputDir, compiledOutputDir); + CompilationTestUtils.cleanUp(sourcesOutputDir, compiledOutputDir); + } + + @Test + public void testMdsal589() throws Exception { + final File sourcesOutputDir = CompilationTestUtils.generatorOutput("mdsal589"); + final File compiledOutputDir = CompilationTestUtils.compilerOutput("mdsal589"); + generateTestSources("/compilation/mdsal589", sourcesOutputDir); + CompilationTestUtils.testCompilation(sourcesOutputDir, compiledOutputDir); + CompilationTestUtils.cleanUp(sourcesOutputDir, compiledOutputDir); + } + private static void testReturnTypeIdentityref(final Class clazz, final String methodName, final String returnTypeStr) throws NoSuchMethodException { Method method = clazz.getMethod(methodName);