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;
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.
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);
// 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);
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");
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();
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);