import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import java.io.File;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import org.opendaylight.mdsal.binding.javav2.generator.api.BindingGenerator;
@Test
public void genTypesTypeDefTest() throws Exception {
final BindingGeneratorImpl bg = new BindingGeneratorImpl(false);
- final SchemaContext schemaContext = YangParserTestUtils
- .parseYangFiles(new File(getClass().getResource("/generator/test-typedef.yang").toURI()));
+ final SchemaContext schemaContext = YangParserTestUtils.parseYangResource("/generator/test-typedef.yang");
final List<Type> generateTypes = bg.generateTypes(schemaContext);
assertNotNull(generateTypes);
for (final Type genType : generateTypes) {
@Test
public void generatedTypesEnumTest() throws Exception {
final BindingGenerator bg = new BindingGeneratorImpl(false);
- final SchemaContext context = YangParserTestUtils
- .parseYangFiles(new File(getClass().getResource("/generator/apple-test.yang").toURI()));
+ final SchemaContext context = YangParserTestUtils.parseYangResource("/generator/apple-test.yang");
final List<Type> generateTypes = bg.generateTypes(context);
assertNotNull(generateTypes);
assertTrue(!generateTypes.isEmpty());
}
@Test
- public void generatedTypesUsesEnumLeafTest() throws Exception {
+ public void generatedTypesUsesEnumLeafTest() {
final BindingGenerator bg = new BindingGeneratorImpl(false);
- final List<File> sources = new ArrayList<>();
- sources.add(new File(getClass().getResource("/uses-statement/test-uses-leaf-innertype-base.yang").toURI()));
- sources.add(new File(getClass().getResource("/uses-statement/test-uses-leaf-innertype.yang").toURI()));
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sources);
+ final SchemaContext context = YangParserTestUtils.parseYangResources(BindingGeneratorImplTest.class,
+ "/uses-statement/test-uses-leaf-innertype-base.yang", "/uses-statement/test-uses-leaf-innertype.yang");
final List<Type> generateTypes = bg.generateTypes(context);
assertNotNull(generateTypes);
assertTrue(!generateTypes.isEmpty());
}
@Test
- public void generatedTypesUsesBitsLeafTest() throws Exception {
+ public void generatedTypesUsesBitsLeafTest() {
final BindingGenerator bg = new BindingGeneratorImpl(false);
- final List<File> sources = new ArrayList<>();
- sources.add(new File(getClass().getResource("/uses-statement/test-uses-leaf-innertype2-base.yang").toURI()));
- sources.add(new File(getClass().getResource("/uses-statement/test-uses-leaf-innertype2.yang").toURI()));
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sources);
+ final SchemaContext context = YangParserTestUtils.parseYangResources(BindingGeneratorImplTest.class,
+ "/uses-statement/test-uses-leaf-innertype2-base.yang", "/uses-statement/test-uses-leaf-innertype2.yang");
final List<Type> generateTypes = bg.generateTypes(context);
assertNotNull(generateTypes);
assertTrue(!generateTypes.isEmpty());
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 (final MethodSignature methodSignature : gt.getMethodDefinitions()) {
+ 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 (final MethodSignature methodSignature : gt.getMethodDefinitions()) {
+ for (MethodSignature methodSignature : gt.getMethodDefinitions()) {
if (methodSignature.getName().equals("getLeafBits")) {
assertEquals("LeafBits", methodSignature.getReturnType().getName());
}
}
@Test
- public void generatedTypesUsesUnionLeafTest() throws Exception {
+ public void generatedTypesUsesUnionLeafTest() {
final BindingGenerator bg = new BindingGeneratorImpl(false);
- final List<File> sources = new ArrayList<>();
- sources.add(new File(getClass().getResource("/uses-statement/test-uses-leaf-innertype2-base.yang").toURI()));
- sources.add(new File(getClass().getResource("/uses-statement/test-uses-leaf-innertype2.yang").toURI()));
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sources);
+ final SchemaContext context = YangParserTestUtils.parseYangResources(BindingGeneratorImplTest.class,
+ "/uses-statement/test-uses-leaf-innertype2-base.yang", "/uses-statement/test-uses-leaf-innertype2.yang");
final List<Type> generateTypes = bg.generateTypes(context);
assertNotNull(generateTypes);
assertTrue(!generateTypes.isEmpty());
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 (final MethodSignature methodSignature : gt.getMethodDefinitions()) {
+ 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 (final MethodSignature methodSignature : gt.getMethodDefinitions()) {
+ for (MethodSignature methodSignature : gt.getMethodDefinitions()) {
if (methodSignature.getName().equals("getLeafUnion")) {
assertEquals("LeafUnion", methodSignature.getReturnType().getName());
}
}
@Test
- public void generatedTypesUsesLeafTest() throws Exception {
+ public void generatedTypesUsesLeafTest() {
final BindingGenerator bg = new BindingGeneratorImpl(false);
- final List<File> sources = new ArrayList<>();
- sources.add(new File(getClass().getResource("/uses-statement/test-uses-leaf-innertype2-base.yang").toURI()));
- sources.add(new File(getClass().getResource("/uses-statement/test-uses-leaf-innertype2.yang").toURI()));
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sources);
+ final SchemaContext context = YangParserTestUtils.parseYangResources(BindingGeneratorImplTest.class,
+ "/uses-statement/test-uses-leaf-innertype2-base.yang", "/uses-statement/test-uses-leaf-innertype2.yang");
final List<Type> generateTypes = bg.generateTypes(context);
assertNotNull(generateTypes);
assertTrue(!generateTypes.isEmpty());
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 (final MethodSignature methodSignature : gt.getMethodDefinitions()) {
+ 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 (final MethodSignature methodSignature : gt.getMethodDefinitions()) {
+ for (MethodSignature methodSignature : gt.getMethodDefinitions()) {
if (methodSignature.getName().equals("getLeafDecimal64")) {
assertEquals("BigDecimal", methodSignature.getReturnType().getName());
}
}
@Test
- public void generatedTypesUsesLeafInnertype3Test() throws Exception {
+ public void generatedTypesUsesLeafInnertype3Test() {
final BindingGenerator bg = new BindingGeneratorImpl(false);
- final List<File> sources = new ArrayList<>();
- sources.add(new File(getClass().getResource("/uses-statement/test-uses-leaf-innertype3-base.yang").toURI()));
- sources.add(new File(getClass().getResource("/uses-statement/test-uses-leaf-innertype3.yang").toURI()));
- final SchemaContext context = YangParserTestUtils.parseYangFiles(sources);
+ final SchemaContext context = YangParserTestUtils.parseYangResources(BindingGeneratorImplTest.class,
+ "/uses-statement/test-uses-leaf-innertype3-base.yang",
+ "/uses-statement/test-uses-leaf-innertype3.yang");
final List<Type> generateTypes = bg.generateTypes(context);
assertNotNull(generateTypes);
assertTrue(!generateTypes.isEmpty());
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 (final MethodSignature methodSignature : gt.getMethodDefinitions()) {
+ 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 (final MethodSignature methodSignature : gt.getMethodDefinitions()) {
+ for (MethodSignature methodSignature : gt.getMethodDefinitions()) {
if (methodSignature.getName().equals("getVersion")) {
assertEquals("ProtocolVersion", methodSignature.getReturnType().getName());
}
}
@Test
- public void generatedTypesTest() throws Exception {
+ public void generatedTypesTest() {
final BindingGenerator bg = new BindingGeneratorImpl(false);
- final SchemaContext context = YangParserTestUtils
- .parseYangFiles(new File(getClass().getResource("/generator/test-list.yang").toURI()));
+ final SchemaContext context = YangParserTestUtils.parseYangResource("/generator/test-list.yang");
final List<Type> generateTypes = bg.generateTypes(context);
assertNotNull(generateTypes);
assertEquals(3, test_i[0]);
}
- @Test
- public void generateTypesDescriptionsTest() throws Exception {
- final BindingGenerator bg = new BindingGeneratorImpl(true);
- final SchemaContext context = YangParserTestUtils.parseYangFiles(getFiles("/base/with_import/"));
- assertNotNull(context);
-
- final List<Type> generateTypes = bg.generateTypes(context, context.getModules());
- assertNotNull(generateTypes);
- assertTrue(!generateTypes.isEmpty());
-
- for (final Type type : generateTypes) {
- if (type.getName().equals("TestData")) {
- final String description = ((GeneratedType) type).getDescription().get();
- description
- .contains(" import test-import { prefix \"imported-test\"; revision-date 2017-04-21; }\n\n");
- description.contains(" revision 2017-02-06;\n\n");
- description.contains(" typedef my-type {\n type int8;\n }");
- description.contains(" container *my-cont {\n }\n");
- }
- }
- }
-
@Test
public void generateTypesIdentityTest() throws Exception {
final BindingGenerator bg = new BindingGeneratorImpl(true);
- final SchemaContext context = YangParserTestUtils.parseYangFiles(getFiles("/identity/"));
+ final SchemaContext context = YangParserTestUtils.parseYangResourceDirectory("/identity/");
assertNotNull(context);
final List<Type> generateTypes = bg.generateTypes(context, context.getModules());
for (final Type type : generateTypes) {
if (type.getFullyQualifiedName()
.equals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden1")) {
- final GeneratedTransferObject genTO = (GeneratedTransferObject)type;
+ final GeneratedType genType = (GeneratedType)type;
assertEquals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden2",
- genTO.getSuperType().getFullyQualifiedName());
+ genType.getImplements().stream().findFirst().get().getFullyQualifiedName());
}
if (type.getFullyQualifiedName()
.equals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden2")) {
- final GeneratedTransferObject genTO = (GeneratedTransferObject)type;
+ final GeneratedType genType = (GeneratedType)type;
assertEquals("org.opendaylight.mdsal.gen.javav2.identity.import_.rev170602.ident.Iden1",
- genTO.getSuperType().getFullyQualifiedName());
+ genType.getImplements().stream().findFirst().get().getFullyQualifiedName());
}
if (type.getFullyQualifiedName()
.equals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden3")) {
- final GeneratedTransferObject genTO = (GeneratedTransferObject)type;
+ final GeneratedType genType = (GeneratedType)type;
assertEquals("org.opendaylight.mdsal.gen.javav2.identity3.module.rev170708.ident.Iden1",
- genTO.getSuperType().getFullyQualifiedName());
+ 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 File[] getFiles(final String path) throws URISyntaxException {
- return new File(getClass().getResource(path).toURI()).listFiles();
+ }
+ }
}
private void testActualType(final GeneratedType t, final int[] test_i) {
int test_j = 0;
for (final MethodSignature m : t.getMethodDefinitions()) {
switch (m.getName()) {
- case "getKey":
- assertMethod(t, "getKey", "MyListKey",
+ case "getIdentifier":
+ assertMethod(t, "getIdentifier", "MyListKey",
"org.opendaylight.mdsal.gen.javav2.urn.test.simple.test.list.rev170314.key.my_list",
m);
test_j++;
}
}
- private void assertBaseGeneratedType(final GeneratedType genType, final String name, final String packageName) {
+ private static void assertBaseGeneratedType(final GeneratedType genType, final String name,
+ final String packageName) {
assertEquals(name, genType.getName());
}
- private void assertMethod(final GeneratedType definingTypeExpected, final String nameExpected,
+ private static void assertMethod(final GeneratedType definingTypeExpected, final String nameExpected,
final String typeNameExpected, final String typePackageNameExpected,
final MethodSignature methodSignature) {
assertEquals(definingTypeExpected, methodSignature.getDefiningType());