import static org.junit.Assert.assertTrue;
-import com.google.common.collect.ImmutableSet;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLClassLoader;
-import java.util.List;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
-import org.opendaylight.mdsal.binding.model.api.Type;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
public class AugmentToUsesInAugmentCompilationTest extends BaseCompilationTest {
public void testAugmentToUsesInAugment() throws IOException, URISyntaxException {
final File sourcesOutputDir = CompilationTestUtils.generatorOutput("augment-uses-to-augment");
final File compiledOutputDir = CompilationTestUtils.compilerOutput("augment-uses-to-augment");
- final List<File> sourceFiles = CompilationTestUtils.getSourceFiles("/compilation/augment-uses-to-augment");
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
- final List<Type> types = bindingGenerator.generateTypes(context);
- final GeneratorJavaFile generator = new GeneratorJavaFile(ImmutableSet.copyOf(types));
- generator.generateToFile(sourcesOutputDir);
+ generateTestSources("/compilation/augment-uses-to-augment", sourcesOutputDir);
// Test if all sources are generated from 'module foo'
File fooParent = new File(sourcesOutputDir, CompilationTestUtils.NS_FOO);
import static org.junit.Assert.assertTrue;
+import com.google.common.collect.ImmutableSet;
+import java.io.File;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.util.Collections;
+import java.util.List;
import org.junit.Before;
import org.junit.BeforeClass;
import org.opendaylight.mdsal.binding.generator.api.BindingGenerator;
import org.opendaylight.mdsal.binding.generator.impl.BindingGeneratorImpl;
+import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
+import org.opendaylight.mdsal.binding.model.api.Type;
+import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
public abstract class BaseCompilationTest {
bindingGenerator = new BindingGeneratorImpl();
}
+ protected final void generateTestSources(final String resourceDirPath, final File sourcesOutputDir)
+ throws IOException, URISyntaxException {
+ final List<File> sourceFiles = CompilationTestUtils.getSourceFiles(resourceDirPath);
+ final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
+ final List<Type> types = bindingGenerator.generateTypes(context);
+ Collections.sort(types, (o1, o2) -> o2.getName().compareTo(o1.getName()));
+ final GeneratorJavaFile generator = new GeneratorJavaFile(ImmutableSet.copyOf(types));
+ generator.generateToFile(sourcesOutputDir);
+ }
}
import static org.junit.Assert.assertTrue;
-import com.google.common.collect.ImmutableSet;
import java.io.File;
-import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
-import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Arrays;
-import java.util.List;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
-import org.opendaylight.mdsal.binding.model.api.Type;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
/**
* Previous construction of union constructor
CompilationTestUtils.cleanUp(sourcesOutputDir, compiledOutputDir);
}
-
- private void generateTestSources(final String resourceDirPath, final File sourcesOutputDir)
- throws IOException, URISyntaxException {
- final List<File> sourceFiles = CompilationTestUtils.getSourceFiles(resourceDirPath);
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
- final List<Type> types = bindingGenerator.generateTypes(context);
- final GeneratorJavaFile generator = new GeneratorJavaFile(ImmutableSet.copyOf(types));
- generator.generateToFile(sourcesOutputDir);
- }
-
}
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Maps;
import java.io.File;
import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.List;
+import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
-import org.opendaylight.mdsal.binding.model.api.Type;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
/**
* Bug5151 involves adding <code>{@literal @}return</code> annotations to accessor methods.
public void test() throws Exception {
final File sourcesOutputDir = CompilationTestUtils.generatorOutput(BUG_ID);
final File compiledOutputDir = CompilationTestUtils.compilerOutput(BUG_ID);
- generateTestSources(CompilationTestUtils.FS + "compilation" + CompilationTestUtils.FS + BUG_ID, sourcesOutputDir);
+ generateTestSources(CompilationTestUtils.FS + "compilation" + CompilationTestUtils.FS + BUG_ID,
+ sourcesOutputDir);
// Test if sources are compilable
CompilationTestUtils.testCompilation(sourcesOutputDir, compiledOutputDir);
}
private static boolean findInFile(final File file, final String searchText) throws FileNotFoundException {
- final Scanner scanner = new Scanner(file);
- while (scanner.hasNextLine()) {
- final String nextLine = scanner.nextLine();
- if (nextLine.contains(searchText)) {
- return true;
+ try (Scanner scanner = new Scanner(file)) {
+ while (scanner.hasNextLine()) {
+ final String nextLine = scanner.nextLine();
+ if (nextLine.contains(searchText)) {
+ return true;
+ }
}
}
return false;
}
- private void generateTestSources(final String resourceDirPath, final File sourcesOutputDir)
- throws IOException, URISyntaxException {
- final List<File> sourceFiles = CompilationTestUtils.getSourceFiles(resourceDirPath);
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
- final List<Type> types = bindingGenerator.generateTypes(context);
- final GeneratorJavaFile generator = new GeneratorJavaFile(ImmutableSet.copyOf(types));
- generator.generateToFile(sourcesOutputDir);
- }
-
private static Map<String, File> getFiles(final File path) {
- return getFiles(path, Maps.newHashMap());
+ return getFiles(path, new HashMap<>());
}
private static Map<String, File> getFiles(final File path, final Map<String, File> files) {
import static org.junit.Assert.assertNotNull;
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.BASE_PKG;
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.cleanUp;
-import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.getSourceFiles;
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.testCompilation;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
import java.io.File;
-import java.io.IOException;
import java.lang.reflect.Constructor;
-import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.List;
import org.junit.Test;
import org.mockito.Mockito;
-import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
-import org.opendaylight.mdsal.binding.model.api.Type;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
/**
* Test correct functionality of copy constructor of generated builder classes.
cleanUp(sourcesOutputDir, compiledOutputDir);
}
-
- private void generateTestSources(final String resourceDirPath, final File sourcesOutputDir)
- throws IOException, URISyntaxException {
- final List<File> sourceFiles = getSourceFiles(resourceDirPath);
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
- final List<Type> types = bindingGenerator.generateTypes(context);
- final GeneratorJavaFile generator = new GeneratorJavaFile(ImmutableSet.copyOf(types));
- generator.generateToFile(sourcesOutputDir);
- }
-
}
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.assertFilesCount;
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.assertImplementsIfc;
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.cleanUp;
-import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.getSourceFiles;
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.testCompilation;
-import com.google.common.collect.ImmutableSet;
import java.io.File;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;
-import java.util.List;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
-import org.opendaylight.mdsal.binding.model.api.Type;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
public class CascadeUsesCompilationTest extends BaseCompilationTest {
public void testCascadeUsesCompilation() throws Exception {
final File sourcesOutputDir = CompilationTestUtils.generatorOutput("cascade-uses");
final File compiledOutputDir = CompilationTestUtils.compilerOutput("cascade-uses");
- final List<File> sourceFiles = getSourceFiles("/compilation/cascade-uses");
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
- final List<Type> types = bindingGenerator.generateTypes(context);
- final GeneratorJavaFile generator = new GeneratorJavaFile(ImmutableSet.copyOf(types));
- generator.generateToFile(sourcesOutputDir);
+ generateTestSources("/compilation/cascade-uses", sourcesOutputDir);
// Test if all sources are generated from module foo
File parent = new File(sourcesOutputDir, NS_FOO);
import com.google.common.collect.Collections2;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Range;
import java.io.File;
-import java.io.IOException;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
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 java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
-import org.opendaylight.mdsal.binding.model.api.Type;
import org.opendaylight.yangtools.yang.binding.ChildOf;
import org.opendaylight.yangtools.yang.binding.annotations.RoutingContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
/**
* Test correct code generation.
CompilationTestUtils.cleanUp(sourcesOutputDir, compiledOutputDir);
}
- private void generateTestSources(final String resourceDirPath, final File sourcesOutputDir)
- throws IOException, URISyntaxException {
- final List<File> sourceFiles = CompilationTestUtils.getSourceFiles(resourceDirPath);
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
- final List<Type> types = bindingGenerator.generateTypes(context);
- Collections.sort(types, (o1, o2) -> o2.getName().compareTo(o1.getName()));
- final GeneratorJavaFile generator = new GeneratorJavaFile(ImmutableSet.copyOf(types));
- generator.generateToFile(sourcesOutputDir);
- }
-
- private static void testReturnTypeIdentityref(final Class<?> clazz, final String methodName, final String returnTypeStr) throws Exception {
+ private static void testReturnTypeIdentityref(final Class<?> clazz, final String methodName,
+ final String returnTypeStr) throws Exception {
Method method;
java.lang.reflect.Type returnType;
try {
}
}
- private static void testReturnTypeInstanceIdentitifer(final ClassLoader loader, final Class<?> clazz, final String methodName)
- throws Exception {
+ private static void testReturnTypeInstanceIdentitifer(final ClassLoader loader, final Class<?> clazz,
+ final String methodName) throws Exception {
Method method;
Class<?> rawReturnType;
java.lang.reflect.Type returnType;
throw new RuntimeException("Failed to clean up after test");
}
}
-
}
package org.opendaylight.mdsal.binding.java.api.generator.test;
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.cleanUp;
-import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.getSourceFiles;
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.testCompilation;
-import com.google.common.collect.ImmutableSet;
import java.io.File;
-import java.util.List;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
-import org.opendaylight.mdsal.binding.model.api.Type;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
/**
* Test if generated classes from yang file is compilable, generated javadoc comments contains
public void testAugmentToUsesInAugment() throws Exception {
final File sourcesOutputDir = CompilationTestUtils.generatorOutput("encoding-javadoc");
final File compiledOutputDir = CompilationTestUtils.compilerOutput("encoding-javadoc");
- final List<File> sourceFiles = getSourceFiles("/compilation/encoding-javadoc");
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
- final List<Type> types = bindingGenerator.generateTypes(context);
- final GeneratorJavaFile generator = new GeneratorJavaFile(ImmutableSet.copyOf(types));
- generator.generateToFile(sourcesOutputDir);
+ generateTestSources("/compilation/encoding-javadoc", sourcesOutputDir);
// Test if sources are compilable
testCompilation(sourcesOutputDir, compiledOutputDir);
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.assertFilesCount;
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.assertImplementsIfc;
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.cleanUp;
-import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.getSourceFiles;
import static org.opendaylight.mdsal.binding.java.api.generator.test.CompilationTestUtils.testCompilation;
-import com.google.common.collect.ImmutableSet;
import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLClassLoader;
-import java.util.List;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
-import org.opendaylight.mdsal.binding.model.api.Type;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
/**
* Test correct code generation.
cleanUp(sourcesOutputDir, compiledOutputDir);
}
-
- private void generateTestSources(final String resourceDirPath, final File sourcesOutputDir)
- throws IOException, URISyntaxException {
- final List<File> sourceFiles = getSourceFiles(resourceDirPath);
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
- final List<Type> types = bindingGenerator.generateTypes(context);
- final GeneratorJavaFile generator = new GeneratorJavaFile(ImmutableSet.copyOf(types));
- generator.generateToFile(sourcesOutputDir);
- }
-
}
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Range;
import java.io.File;
import java.lang.reflect.Constructor;
import java.util.List;
import java.util.regex.Pattern;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
-import org.opendaylight.mdsal.binding.model.api.Type;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
/**
* Test correct code generation.
public void test() throws Exception {
final File sourcesOutputDir = CompilationTestUtils.generatorOutput("typedef");
final File compiledOutputDir = CompilationTestUtils.compilerOutput("typedef");
- final List<File> sourceFiles = CompilationTestUtils.getSourceFiles("/compilation/typedef");
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
- final List<Type> types = bindingGenerator.generateTypes(context);
- final GeneratorJavaFile generator = new GeneratorJavaFile(ImmutableSet.copyOf(types));
- generator.generateToFile(sourcesOutputDir);
+ generateTestSources("/compilation/typedef", sourcesOutputDir);
File parent = new File(sourcesOutputDir, CompilationTestUtils.NS_FOO);
File bitsExt = new File(parent, "BitsExt.java");
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import com.google.common.collect.ImmutableSet;
import java.io.File;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;
-import java.util.List;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.java.api.generator.GeneratorJavaFile;
-import org.opendaylight.mdsal.binding.model.api.Type;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
/**
* union constructor with indentityref
CompilationTestUtils.cleanUp(sourcesOutputDir, compiledOutputDir);
}
-
- private void generateTestSources(final String resourceDirPath, final File sourcesOutputDir) throws Exception {
- final List<File> sourceFiles = CompilationTestUtils.getSourceFiles(resourceDirPath);
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sourceFiles);
- final List<Type> types = bindingGenerator.generateTypes(context);
- final GeneratorJavaFile generator = new GeneratorJavaFile(ImmutableSet.copyOf(types));
- generator.generateToFile(sourcesOutputDir);
- }
}