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=753ab98bdc06dc6643320659e2aefb3ba6ecaae4;hb=12c957d9a7de8e6da49a652f08587714f6ca4f14;hp=794ad9d3a778e4177093470037cb15208a3bc0ec;hpb=676c67ae3f852808d46e255b3e1aab0403f5558b;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 794ad9d3a7..753ab98bdc 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 @@ -33,10 +33,10 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.stream.Collectors; -import javax.annotation.Nullable; 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; /** * Test correct code generation. @@ -90,7 +90,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); @@ -107,13 +107,12 @@ public class CompilationTest extends BaseCompilationTest { assertTrue(keyArgsClass.isInterface()); CompilationTestUtils.assertContainsMethod(keyArgsClass, String.class, "getName"); CompilationTestUtils.assertContainsMethod(keyArgsClass, Integer.class, "getSize"); - assertEquals(2, abstractMethods(keyArgsClass).size()); + assertEquals(3, abstractMethods(keyArgsClass).size()); // 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); @@ -392,7 +391,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"); @@ -470,7 +469,7 @@ public class CompilationTest extends BaseCompilationTest { throw new AssertionError("Method getId() not found", e); } - assertEquals(ImmutableSet.of(RoutingContext.class, Nullable.class), Arrays.stream(getId.getAnnotations()) + assertEquals(ImmutableSet.of(RoutingContext.class), Arrays.stream(getId.getAnnotations()) .map(Annotation::annotationType).collect(Collectors.toSet())); CompilationTestUtils.cleanUp(sourcesOutputDir, compiledOutputDir); } @@ -637,6 +636,15 @@ public class CompilationTest extends BaseCompilationTest { CompilationTestUtils.cleanUp(sourcesOutputDir, compiledOutputDir); } + @Test + public void testMdsal395() throws Exception { + final File sourcesOutputDir = CompilationTestUtils.generatorOutput("mdsal395"); + final File compiledOutputDir = CompilationTestUtils.compilerOutput("mdsal395"); + generateTestSources("/compilation/mdsal395", sourcesOutputDir); + CompilationTestUtils.testCompilation(sourcesOutputDir, compiledOutputDir); + CompilationTestUtils.cleanUp(sourcesOutputDir, compiledOutputDir); + } + @Test public void classNamesColisionTest() throws Exception { final File sourcesOutputDir = CompilationTestUtils.generatorOutput("class-name-collision"); @@ -664,6 +672,33 @@ public class CompilationTest extends BaseCompilationTest { CompilationTestUtils.cleanUp(sourcesOutputDir, compiledOutputDir); } + @Test + public void testMdsal425() throws Exception { + final File sourcesOutputDir = CompilationTestUtils.generatorOutput("mdsal425"); + final File compiledOutputDir = CompilationTestUtils.compilerOutput("mdsal425"); + generateTestSources("/compilation/mdsal425", sourcesOutputDir); + CompilationTestUtils.testCompilation(sourcesOutputDir, compiledOutputDir); + 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);