*/
package org.opendaylight.mdsal.binding.generator.impl;
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import org.opendaylight.mdsal.binding.model.api.GeneratedType;
import org.opendaylight.mdsal.binding.model.api.MethodSignature;
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 GenEnumResolvingTest {
-
@Test
public void testLeafEnumResolving() {
- final SchemaContext context = YangParserTestUtils.parseYangResources(GenEnumResolvingTest.class,
- "/enum-test-models/ietf-interfaces@2012-11-15.yang", "/ietf/iana-if-type.yang");
- assertTrue(context != null);
-
- final List<Type> genTypes = DefaultBindingGenerator.generateFor(context);
- assertTrue(genTypes != null);
+ final List<GeneratedType> genTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResources(
+ GenEnumResolvingTest.class,
+ "/enum-test-models/ietf-interfaces@2012-11-15.yang", "/ietf-models/iana-if-type.yang"));
+ assertNotNull(genTypes);
assertEquals("Expected count of all Generated Types", 6, genTypes.size());
GeneratedType genInterface = null;
- for (final Type type : genTypes) {
- if (type instanceof GeneratedType) {
- if (type.getName().equals("Interface")) {
- genInterface = (GeneratedType) type;
- }
+ for (final GeneratedType type : genTypes) {
+ if (type.getName().equals("Interface")) {
+ genInterface = type;
}
}
assertNotNull("Generated Type Interface is not present in list of Generated Types", genInterface);
assertNotNull("Generated Interface cannot contain NULL reference for Method Signature Definitions!", methods);
- assertEquals("Expected count of method signature definitions is 16", 16, methods.size());
+ // FIXME: split this into getter/default/static asserts
+ assertEquals(19, methods.size());
Enumeration ianaIfType = null;
for (final MethodSignature method : methods) {
if (method.getName().equals("getType")) {
@Test
public void testTypedefEnumResolving() {
- final SchemaContext context = YangParserTestUtils.parseYangResource("/ietf/iana-if-type.yang");
- assertTrue(context != null);
- final List<Type> genTypes = DefaultBindingGenerator.generateFor(context);
- assertTrue(genTypes != null);
+ final List<GeneratedType> genTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResource(
+ "/ietf-models/iana-if-type.yang"));
+ assertNotNull(genTypes);
assertEquals(1, genTypes.size());
- final Type type = genTypes.get(0);
- assertTrue(type instanceof Enumeration);
+ final GeneratedType type = genTypes.get(0);
+ assertThat(type, instanceOf(Enumeration.class));
final Enumeration enumer = (Enumeration) type;
assertEquals("Enumeration type MUST contain 272 values!", 272, enumer.getValues().size());
@Test
public void testLeafrefEnumResolving() {
- final SchemaContext context = YangParserTestUtils.parseYangResources(GenEnumResolvingTest.class,
+ final List<GeneratedType> genTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResources(
+ GenEnumResolvingTest.class,
"/enum-test-models/abstract-topology@2013-02-08.yang", "/enum-test-models/ietf-interfaces@2012-11-15.yang",
- "/ietf/iana-if-type.yang");
- assertNotNull(context);
- final List<Type> genTypes = DefaultBindingGenerator.generateFor(context);
+ "/ietf-models/iana-if-type.yang"));
assertNotNull(genTypes);
- assertTrue(!genTypes.isEmpty());
+ assertEquals(24, genTypes.size());
GeneratedType genInterface = null;
- for (final Type type : genTypes) {
- if (type instanceof GeneratedType) {
- if (type.getPackageName().equals(
- "org.opendaylight.yang.gen.v1.urn.model._abstract.topology.rev130208.topology.interfaces")
- && type.getName().equals("Interface")) {
- genInterface = (GeneratedType) type;
- }
+ for (final GeneratedType type : genTypes) {
+ if (type.getName().equals("Interface") && type.getPackageName().equals(
+ "org.opendaylight.yang.gen.v1.urn.model._abstract.topology.rev130208.topology.interfaces")) {
+ genInterface = type;
}
}
assertNotNull("Generated Type Interface is not present in list of Generated Types", genInterface);
Type operStatus = null;
final List<MethodSignature> methods = genInterface.getMethodDefinitions();
assertNotNull("Generated Type Interface cannot contain NULL reference to Enumeration types!", methods);
- assertEquals("Generated Type Interface MUST contain 6 Methods ", 6, methods.size());
+
+ // FIXME: split this into getter/default/static asserts
+ assertEquals(9, methods.size());
for (final MethodSignature method : methods) {
if (method.getName().equals("getLinkUpDownTrapEnable")) {
linkUpDownTrapEnable = method.getReturnType();
"org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev121115.interfaces.Interface",
operStatus.getIdentifier().immediatelyEnclosingClass().get().toString());
}
-
}