X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-generator-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fsal%2Fbinding%2Fyang%2Ftypes%2FTypeProviderImplTest.java;h=afe413126d9bed23353d71e7cc055b24ab748a3d;hb=e1a105e7a638007a62c0d9ca6bbef415f94b397f;hp=865d15e3636a5a2d3842b9c2d1f43fa2874f7b44;hpb=57522a415b8e53e1a42515e60934a1cd57b58fd9;p=mdsal.git diff --git a/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/yangtools/sal/binding/yang/types/TypeProviderImplTest.java b/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/yangtools/sal/binding/yang/types/TypeProviderImplTest.java index 865d15e363..afe413126d 100644 --- a/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/yangtools/sal/binding/yang/types/TypeProviderImplTest.java +++ b/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/yangtools/sal/binding/yang/types/TypeProviderImplTest.java @@ -20,8 +20,8 @@ import java.io.File; import java.net.URI; import java.util.NoSuchElementException; import org.junit.Test; +import org.opendaylight.mdsal.binding.model.api.Type; import org.opendaylight.yangtools.binding.generator.util.generated.type.builder.GeneratedTypeBuilderImpl; -import org.opendaylight.yangtools.sal.binding.model.api.Type; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode; @@ -41,6 +41,7 @@ import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition; import org.opendaylight.yangtools.yang.model.util.type.BaseTypes; import org.opendaylight.yangtools.yang.model.util.type.IdentityrefTypeBuilder; import org.opendaylight.yangtools.yang.parser.util.YangValidationException; +import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; public class TypeProviderImplTest { @@ -48,47 +49,58 @@ public class TypeProviderImplTest { public void testLeafRefRelativeSelfReference() throws Exception { File relative = new File(getClass().getResource("/leafref/leafref-relative-invalid.yang").toURI()); - final SchemaContext schemaContext = RetestUtils.parseYangSources(relative); + final SchemaContext schemaContext = YangParserTestUtils.parseYangSources(relative); final Module moduleRelative = schemaContext.findModuleByNamespace(new URI("urn:xml:ns:yang:lrr")).iterator().next(); final TypeProviderImpl typeProvider = new TypeProviderImpl(schemaContext); - DataSchemaNode leafref = ((ListSchemaNode) moduleRelative.getDataChildByName("neighbor")).getDataChildByName("neighbor-id"); + final QName listNode = QName.create(moduleRelative.getQNameModule(), "neighbor"); + final QName leafNode = QName.create(moduleRelative.getQNameModule(), "neighbor-id"); + DataSchemaNode leafref = ((ListSchemaNode) moduleRelative.getDataChildByName(listNode)) + .getDataChildByName(leafNode); LeafSchemaNode leaf = (LeafSchemaNode) leafref; TypeDefinition leafType = leaf.getType(); Type leafrefResolvedType = typeProvider.javaTypeForSchemaDefinitionType(leafType, leaf); + assertNotNull(leafrefResolvedType); } @Test (expected = YangValidationException.class) public void testLeafRefAbsoluteSelfReference() throws Exception { File relative = new File(getClass().getResource("/leafref/leafref-absolute-invalid.yang").toURI()); - final SchemaContext schemaContext = RetestUtils.parseYangSources(relative); + final SchemaContext schemaContext = YangParserTestUtils.parseYangSources(relative); final Module moduleRelative = schemaContext.findModuleByNamespace(new URI("urn:xml:ns:yang:lra")).iterator().next(); final TypeProviderImpl typeProvider = new TypeProviderImpl(schemaContext); - DataSchemaNode leafref = ((ListSchemaNode) moduleRelative.getDataChildByName("neighbor")).getDataChildByName("neighbor-id"); + final QName listNode = QName.create(moduleRelative.getQNameModule(), "neighbor"); + final QName leafNode = QName.create(moduleRelative.getQNameModule(), "neighbor-id"); + DataSchemaNode leafref = ((ListSchemaNode) moduleRelative.getDataChildByName(listNode)) + .getDataChildByName(leafNode); LeafSchemaNode leaf = (LeafSchemaNode) leafref; TypeDefinition leafType = leaf.getType(); Type leafrefResolvedType = typeProvider.javaTypeForSchemaDefinitionType(leafType, leaf); + assertNotNull(leafrefResolvedType); } @Test public void testLeafRefRelativeAndAbsoluteValidReference() throws Exception { File valid = new File(getClass().getResource("/leafref/leafref-valid.yang").toURI()); - final SchemaContext schemaContext = RetestUtils.parseYangSources(valid); + final SchemaContext schemaContext = YangParserTestUtils.parseYangSources(valid); final Module moduleValid = schemaContext.findModuleByNamespace(new URI("urn:xml:ns:yang:lrv")).iterator().next(); final TypeProviderImpl typeProvider = new TypeProviderImpl(schemaContext); - DataSchemaNode leafrefRel = ((ListSchemaNode) moduleValid.getDataChildByName("neighbor")).getDataChildByName - ("neighbor-id"); + final QName listNode = QName.create(moduleValid.getQNameModule(), "neighbor"); + final QName leaf1Node = QName.create(moduleValid.getQNameModule(), "neighbor-id"); + DataSchemaNode leafrefRel = ((ListSchemaNode) moduleValid.getDataChildByName(listNode)) + .getDataChildByName(leaf1Node); LeafSchemaNode leafRel = (LeafSchemaNode) leafrefRel; TypeDefinition leafTypeRel = leafRel.getType(); Type leafrefRelResolvedType = typeProvider.javaTypeForSchemaDefinitionType(leafTypeRel, leafRel); assertNotNull(leafrefRelResolvedType); - DataSchemaNode leafrefAbs = ((ListSchemaNode) moduleValid.getDataChildByName("neighbor")).getDataChildByName - ("neighbor2-id"); + final QName leaf2Node = QName.create(moduleValid.getQNameModule(), "neighbor2-id"); + DataSchemaNode leafrefAbs = ((ListSchemaNode) moduleValid.getDataChildByName(listNode)) + .getDataChildByName(leaf2Node); LeafSchemaNode leafAbs = (LeafSchemaNode) leafrefAbs; TypeDefinition leafTypeAbs = leafAbs.getType(); Type leafrefAbsResolvedType = typeProvider.javaTypeForSchemaDefinitionType(leafTypeAbs, leafAbs); @@ -97,10 +109,9 @@ public class TypeProviderImplTest { @Test public void testMethodsOfTypeProviderImpl() throws Exception { - final File abstractTopology = new File(getClass().getResource("/base-yang-types.yang") - .toURI()); + final File abstractTopology = new File(getClass().getResource("/base-yang-types.yang").toURI()); - final SchemaContext schemaContext = RetestUtils.parseYangSources(abstractTopology); + final SchemaContext schemaContext = YangParserTestUtils.parseYangSources(abstractTopology); final TypeProviderImpl typeProvider = new TypeProviderImpl(schemaContext); @@ -148,7 +159,7 @@ public class TypeProviderImplTest { doReturn(SchemaPath.ROOT).when(leafSchemaNode).getPath(); doReturn(QName.create("Cont1")).when(leafSchemaNode).getQName(); - assertEquals("new java.lang.Boolean(\"false\")", typeProvider.getTypeDefaultConstruction(leafSchemaNode, "false")); + assertEquals("java.lang.Boolean.FALSE", typeProvider.getTypeDefaultConstruction(leafSchemaNode, "false")); // decimal type final DecimalTypeDefinition decimalType = BaseTypes.decimalTypeBuilder(refTypePath).setFractionDigits(4).build(); @@ -168,7 +179,7 @@ public class TypeProviderImplTest { doReturn(SchemaPath.ROOT).when(leafSchemaNode).getPath(); doReturn(QName.create("Cont1")).when(leafSchemaNode).getQName(); - assertEquals("new java.lang.Boolean(\"default value\")", typeProvider.getTypeDefaultConstruction(leafSchemaNode, "default value")); + assertEquals("java.lang.Boolean.valueOf(\"default value\")", typeProvider.getTypeDefaultConstruction(leafSchemaNode, "default value")); // enum type final EnumTypeDefinition enumType = BaseTypes.enumerationTypeBuilder(refTypePath).build(); @@ -182,13 +193,13 @@ public class TypeProviderImplTest { assertEquals("\"default value\"", typeProvider.getTypeDefaultConstruction(leafSchemaNode, "default value")); fail("Expected NoSuchElementException"); } catch (Exception e) { - assertTrue( e instanceof NoSuchElementException); + assertTrue(e instanceof NoSuchElementException); } // identityref type final IdentitySchemaNode identitySchemaNode = mock(IdentitySchemaNode.class); final IdentityrefTypeBuilder identityRefBuilder = BaseTypes.identityrefTypeBuilder(refTypePath); - identityRefBuilder.setIdentity(identitySchemaNode); + identityRefBuilder.addIdentity(identitySchemaNode); final IdentityrefTypeDefinition identityRef = identityRefBuilder.build(); reset(leafSchemaNode);