X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-generator-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fyang%2Ftypes%2FTypeProviderTest.java;h=757c867b1e71d4f83aa378123ef68ed6adb65c92;hb=12b9a4a5099fea3f3dcc58370271311c015b3d7b;hp=c3cf202bbc0158cc11f650ee70f6e5827189d263;hpb=15e5757677345f22f37a479214a35fd57bcbbc48;p=mdsal.git diff --git a/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/yang/types/TypeProviderTest.java b/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/yang/types/TypeProviderTest.java index c3cf202bbc..757c867b1e 100644 --- a/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/yang/types/TypeProviderTest.java +++ b/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/yang/types/TypeProviderTest.java @@ -13,7 +13,9 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.doReturn; +import com.google.common.collect.Range; import java.util.List; +import java.util.Optional; import java.util.Set; import org.junit.Before; import org.junit.Ignore; @@ -23,16 +25,18 @@ import org.junit.runners.JUnit4; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.opendaylight.mdsal.binding.generator.spi.TypeProvider; -import org.opendaylight.mdsal.binding.generator.util.BindingGeneratorUtil; -import org.opendaylight.mdsal.binding.generator.util.ReferencedTypeImpl; -import org.opendaylight.mdsal.binding.generator.util.generated.type.builder.GeneratedTOBuilderImpl; import org.opendaylight.mdsal.binding.model.api.ConcreteType; import org.opendaylight.mdsal.binding.model.api.Enumeration; import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject; +import org.opendaylight.mdsal.binding.model.api.JavaTypeName; import org.opendaylight.mdsal.binding.model.api.ParameterizedType; import org.opendaylight.mdsal.binding.model.api.Restrictions; import org.opendaylight.mdsal.binding.model.api.Type; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder; +import org.opendaylight.mdsal.binding.model.util.BindingGeneratorUtil; +import org.opendaylight.mdsal.binding.model.util.ReferencedTypeImpl; +import org.opendaylight.mdsal.binding.model.util.generated.type.builder.CodegenGeneratedTOBuilder; +import org.opendaylight.yangtools.yang.binding.BindingMapping; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.DataNodeContainer; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; @@ -93,41 +97,41 @@ public class TypeProviderTest { @Test(expected = IllegalArgumentException.class) public void typeProviderInstanceWithNullSchemaContextTest() { - final TypeProvider provider = new TypeProviderImpl(null); + new RuntimeTypeProvider(null); } @Test(expected = IllegalArgumentException.class) public void putReferencedTypeWithNullSchemaPathParamTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); - ((TypeProviderImpl) provider).putReferencedType(null, null); - ((TypeProviderImpl) provider).putReferencedType(this.schemaPath, null); + provider.putReferencedType(null, null); + provider.putReferencedType(this.schemaPath, null); } @Test(expected = IllegalArgumentException.class) public void putReferencedTypeWithNullRefTypeParamTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); - ((TypeProviderImpl) provider).putReferencedType(this.schemaPath, null); + provider.putReferencedType(this.schemaPath, null); } @Test public void getAdditionalTypesTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); - assertNotNull(((TypeProviderImpl) provider).getAdditionalTypes()); + assertNotNull(provider.getAdditionalTypes()); } @Test(expected = IllegalArgumentException.class) public void javaTypeForSchemaDefinitionTypeNullTypedefTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext); provider.javaTypeForSchemaDefinitionType(null, null, null); } @Test(expected = IllegalArgumentException.class) public void javaTypeForSchemaDefinitionTypeTypedefNullQNameTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final TestIntegerTypeDefinition testTypedef = new TestIntegerTypeDefinition(); provider.javaTypeForSchemaDefinitionType(testTypedef, null, null); @@ -163,7 +167,7 @@ public class TypeProviderTest { @Test public void javaTypeForSchemaDefinitionExtTypeTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new CodegenTypeProvider(this.schemaContext); final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "yang-int8-type"); final TypeDefinition leafType = leaf.getType(); @@ -175,12 +179,12 @@ public class TypeProviderTest { assertEquals("base-yang-types", genTO.getModuleName()); assertEquals("org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.base.yang.types.rev140914", genTO.getPackageName()); assertEquals("YangInt8", genTO.getName()); - assertTrue(genTO.getProperties().size() == 1); + assertEquals(1, genTO.getProperties().size()); } @Test public void javaTypeForSchemaDefinitionRestrictedExtTypeTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new CodegenTypeProvider(this.schemaContext); final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "restricted-int8-type"); final TypeDefinition leafType = leaf.getType(); @@ -193,18 +197,18 @@ public class TypeProviderTest { final GeneratedTransferObject genTO = (GeneratedTransferObject) result; assertEquals("org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.base.yang.types.rev140914", genTO.getPackageName()); assertEquals("YangInt8Restricted", genTO.getName()); - assertTrue(genTO.getProperties().size() == 1); - final List rangeConstraints = genTO.getRestrictions().getRangeConstraints(); + assertEquals(1, genTO.getProperties().size()); + final Optional> rangeConstraints = genTO.getRestrictions().getRangeConstraint(); - assertTrue(!rangeConstraints.isEmpty()); - final RangeConstraint constraint = rangeConstraints.get(0); - assertEquals(1, constraint.getMin().intValue()); - assertEquals(100, constraint.getMax().intValue()); + assertTrue(rangeConstraints.isPresent()); + final Range constraint = rangeConstraints.get().getAllowedRanges().asRanges().iterator().next(); + assertEquals((byte) 1, constraint.lowerEndpoint()); + assertEquals((byte) 100, constraint.upperEndpoint()); } @Test public void javaTypeForSchemaDefinitionEmptyStringPatternTypeTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final Module testTypeProvider = resolveModule("test-type-provider"); final TypeDefinition emptyPatternString = resolveTypeDefinitionFromModule(testTypeProvider, "empty-pattern-string"); @@ -238,8 +242,9 @@ public class TypeProviderTest { @Ignore @Test public void bug1862RestrictedTypedefTransformationTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); - final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "bug-1862-restricted-typedef"); + final TypeProvider provider = new CodegenTypeProvider(this.schemaContext); + final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", + "bug-1862-restricted-typedef"); final TypeDefinition leafType = leaf.getType(); final Restrictions restrictions = BindingGeneratorUtil.getRestrictions(leafType); @@ -251,8 +256,9 @@ public class TypeProviderTest { @Test public void javaTypeForSchemaDefinitionEnumExtTypeTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); - LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "resolve-enum-leaf"); + final TypeProvider provider = new CodegenTypeProvider(this.schemaContext); + LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", + "resolve-enum-leaf"); TypeDefinition leafType = leaf.getType(); Type result = provider.javaTypeForSchemaDefinitionType(leafType, leaf); assertNotNull(result); @@ -278,7 +284,7 @@ public class TypeProviderTest { @Test public void javaTypeForSchemaDefinitionLeafrefExtTypeTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new CodegenTypeProvider(this.schemaContext); LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "bar", "leafref-value"); TypeDefinition leafType = leaf.getType(); final Type leafrefResolvedType1 = provider.javaTypeForSchemaDefinitionType(leafType, leaf); @@ -300,7 +306,7 @@ public class TypeProviderTest { @Test public void javaTypeForSchemaDefinitionLeafrefToEnumTypeTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new CodegenTypeProvider(this.schemaContext); setReferencedTypeForTypeProvider(provider); @@ -319,7 +325,7 @@ public class TypeProviderTest { final QName leafListNode = QName.create(module.getQNameModule(), "enums"); final DataSchemaNode enumListNode = module.getDataChildByName(leafListNode); - assertNotNull("leaf-list enums is not present in root of module "+ module.getName(), enumNode); + assertNotNull("leaf-list enums is not present in root of module " + module.getName(), enumNode); assertTrue(enumListNode instanceof LeafListSchemaNode); final LeafListSchemaNode leafList = (LeafListSchemaNode) enumListNode; final TypeDefinition leafListType = leafList.getType(); @@ -329,27 +335,27 @@ public class TypeProviderTest { assertTrue(leafrefResolvedType2 instanceof ParameterizedType); } - private void setReferencedTypeForTypeProvider(final TypeProvider provider) { + private void setReferencedTypeForTypeProvider(final AbstractTypeProvider provider) { final LeafSchemaNode enumLeafNode = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "resolve-direct-use-of-enum"); final TypeDefinition enumLeafTypedef = enumLeafNode.getType(); Type enumType = provider.javaTypeForSchemaDefinitionType(enumLeafTypedef, enumLeafNode); - Type refType = new ReferencedTypeImpl(enumType.getPackageName(), enumType.getName()); - ((TypeProviderImpl) provider).putReferencedType(enumLeafNode.getPath(), refType); + Type refType = new ReferencedTypeImpl(enumType.getIdentifier()); + provider.putReferencedType(enumLeafNode.getPath(), refType); - final LeafListSchemaNode enumListNode = provideLeafListNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", - "list-of-enums"); + final LeafListSchemaNode enumListNode = provideLeafListNodeFromTopLevelContainer(this.testTypeProviderModule, + "foo", "list-of-enums"); final TypeDefinition enumLeafListTypedef = enumListNode.getType(); enumType = provider.javaTypeForSchemaDefinitionType(enumLeafListTypedef, enumListNode); - refType = new ReferencedTypeImpl(enumType.getPackageName(), enumType.getPackageName()); - ((TypeProviderImpl) provider).putReferencedType(enumListNode.getPath(), refType); + refType = new ReferencedTypeImpl(enumType.getIdentifier()); + provider.putReferencedType(enumListNode.getPath(), refType); } @Test public void javaTypeForSchemaDefinitionConditionalLeafrefTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new CodegenTypeProvider(this.schemaContext); final Module module = resolveModule("test-type-provider-b"); final QName leafrefNode = QName.create(module.getQNameModule(), "conditional-leafref"); @@ -368,7 +374,7 @@ public class TypeProviderTest { @Test(expected = IllegalArgumentException.class) public void javaTypeForSchemaDefinitionInvalidLeafrefPathTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new CodegenTypeProvider(this.schemaContext); final Module module = resolveModule("test-type-provider-b"); final QName leafrefNode = QName.create(module.getQNameModule(), "unreslovable-leafref"); @@ -383,14 +389,14 @@ public class TypeProviderTest { @Test(expected = IllegalArgumentException.class) public void provideTypeForLeafrefWithNullLeafrefTypeTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); provider.provideTypeForLeafref(null, null); } @Test(expected = IllegalArgumentException.class) public void provideTypeForLeafrefWithNullLeafrefTypePathStatementTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final LeafrefTypeWithNullXpath leafrePath = new LeafrefTypeWithNullXpath(); provider.provideTypeForLeafref(leafrePath, this.schemaNode); @@ -398,8 +404,9 @@ public class TypeProviderTest { @Test(expected = IllegalStateException.class) public void provideTypeForLeafrefWithNullParentModuleTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); - final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "bar", "leafref-value"); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); + final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "bar", + "leafref-value"); final TypeDefinition leafType = leaf.getType(); assertTrue(leafType instanceof LeafrefTypeDefinition); doReturn(null).when(this.schemaNode).getPath(); @@ -408,7 +415,7 @@ public class TypeProviderTest { @Test public void javaTypeForSchemaDefinitionIdentityrefExtTypeTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "crypto"); final TypeDefinition leafType = leaf.getType(); @@ -419,7 +426,7 @@ public class TypeProviderTest { @Test public void javaTypeForSchemaDefinitionForExtUnionWithSimpleTypesTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "use-of-unions", "simple-int-types-union"); final TypeDefinition leafType = leaf.getType(); @@ -432,7 +439,7 @@ public class TypeProviderTest { @Test public void javaTypeForSchemaDefinitionForExtComplexUnionWithInnerUnionTypesTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "use-of-unions", "complex-union"); final TypeDefinition leafType = leaf.getType(); @@ -445,7 +452,7 @@ public class TypeProviderTest { @Test public void javaTypeForSchemaDefinitionForExtUnionWithInnerUnionAndSimpleTypeTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "use-of-unions", "complex-string-int-union"); final TypeDefinition leafType = leaf.getType(); @@ -458,59 +465,46 @@ public class TypeProviderTest { @Test public void provideGeneratedTOBuilderForUnionTypeDefWithInnerUnionTypesTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final Module testTypeProvider = resolveModule("test-type-provider"); final TypeDefinition unionTypeDef = resolveTypeDefinitionFromModule(testTypeProvider, "complex-union"); assertNotNull(unionTypeDef); assertTrue(unionTypeDef.getBaseType() instanceof UnionTypeDefinition); - GeneratedTOBuilder unionTypeBuilder = provider.provideGeneratedTOBuilderForUnionTypeDef("test.package.name", - (UnionTypeDefinition)unionTypeDef.getBaseType(), "ComplexUnionType", unionTypeDef); + GeneratedTOBuilder unionTypeBuilder = provider.provideGeneratedTOBuilderForUnionTypeDef( + JavaTypeName.create("test.package.name", BindingMapping.getClassName(unionTypeDef.getQName())), + (UnionTypeDefinition)unionTypeDef.getBaseType(), unionTypeDef); assertNotNull(unionTypeBuilder); - GeneratedTransferObject unionType = unionTypeBuilder.toInstance(); - assertEquals("ComplexUnionType", unionType.getName()); - - unionTypeBuilder = provider.provideGeneratedTOBuilderForUnionTypeDef("test.package.name", - (UnionTypeDefinition)unionTypeDef.getBaseType(), "", unionTypeDef); - - assertNotNull(unionTypeBuilder); - - unionType = unionTypeBuilder.toInstance(); - assertEquals("Union", unionType.getName()); - - unionTypeBuilder = provider.provideGeneratedTOBuilderForUnionTypeDef("test.package.name", - (UnionTypeDefinition)unionTypeDef.getBaseType(), null, unionTypeDef); - - assertNotNull(unionTypeBuilder); - - unionType = unionTypeBuilder.toInstance(); - assertEquals("Union", unionType.getName()); + GeneratedTransferObject unionType = unionTypeBuilder.build(); + assertEquals("ComplexUnion", unionType.getName()); } @Test public void provideGeneratedTOBuilderForUnionTypeDefWithInnerUnionAndSimpleTypeTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final Module testTypeProvider = resolveModule("test-type-provider"); - final TypeDefinition unionTypeDef = resolveTypeDefinitionFromModule(testTypeProvider, "complex-string-int-union"); + final TypeDefinition unionTypeDef = resolveTypeDefinitionFromModule(testTypeProvider, + "complex-string-int-union"); assertNotNull(unionTypeDef); assertTrue(unionTypeDef.getBaseType() instanceof UnionTypeDefinition); - final GeneratedTOBuilder unionTypeBuilder = provider.provideGeneratedTOBuilderForUnionTypeDef("test.package.name", - (UnionTypeDefinition)unionTypeDef.getBaseType(), "ComplexStringIntUnionType", unionTypeDef); + final GeneratedTOBuilder unionTypeBuilder = provider.provideGeneratedTOBuilderForUnionTypeDef( + JavaTypeName.create("test.package.name", BindingMapping.getClassName(unionTypeDef.getQName())), + (UnionTypeDefinition)unionTypeDef.getBaseType(), unionTypeDef); assertNotNull(unionTypeBuilder); - final GeneratedTransferObject unionType = unionTypeBuilder.toInstance(); - assertEquals("ComplexStringIntUnionType", unionType.getName()); + final GeneratedTransferObject unionType = unionTypeBuilder.build(); + assertEquals("ComplexStringIntUnion", unionType.getName()); } @Test public void generatedTypeForExtendedDefinitionTypeTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new CodegenTypeProvider(this.schemaContext); final Module baseYangTypes = resolveModule("base-yang-types"); final Set> typeDefs = baseYangTypes.getTypeDefinitions(); @@ -601,23 +595,24 @@ public class TypeProviderTest { @Test(expected = IllegalArgumentException.class) public void generatedTypeForExtendedDefinitionTypeWithTypedefNullTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); provider.generatedTypeForExtendedDefinitionType(null, null); } @Test(expected = IllegalArgumentException.class) public void generatedTypeForExtendedDefinitionTypeWithTypedefQNameNullTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final TestIntegerTypeDefinition testInt = new TestIntegerTypeDefinition(); provider.generatedTypeForExtendedDefinitionType(testInt, testInt); } @Test public void generatedTypeForExtendedDefinitionTypeWithInnerExtendedTypeTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final Module baseYangTypes = resolveModule("test-type-provider"); - final TypeDefinition extYangInt8Typedef = resolveTypeDefinitionFromModule(baseYangTypes, "extended-yang-int8"); + final TypeDefinition extYangInt8Typedef = resolveTypeDefinitionFromModule(baseYangTypes, + "extended-yang-int8"); assertNotNull(extYangInt8Typedef); final Type extType = provider.generatedTypeForExtendedDefinitionType(extYangInt8Typedef, extYangInt8Typedef); assertNotNull(extType); @@ -626,7 +621,7 @@ public class TypeProviderTest { @Test public void generatedTypeForExtendedDefinitionTypeWithLeafrefBaseTypeTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final Module baseYangTypes = resolveModule("test-type-provider"); final TypeDefinition barItemLeafrefId = resolveTypeDefinitionFromModule(baseYangTypes, "bar-item-leafref-id"); @@ -637,47 +632,30 @@ public class TypeProviderTest { @Test public void generatedTypeForExtendedDefinitionTypeWithIdentityrefBaseTypeTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final Module baseYangTypes = resolveModule("test-type-provider"); - final TypeDefinition aesIdentityrefType = resolveTypeDefinitionFromModule(baseYangTypes, "aes-identityref-type"); + final TypeDefinition aesIdentityrefType = resolveTypeDefinitionFromModule(baseYangTypes, + "aes-identityref-type"); assertNotNull(aesIdentityrefType); final Type extType = provider.generatedTypeForExtendedDefinitionType(aesIdentityrefType, aesIdentityrefType); assertEquals(null, extType); } - @Test(expected = IllegalArgumentException.class) + @Test(expected = NullPointerException.class) public void provideGeneratedTOBuilderForBitsTypeDefinitionWithNullTypedefTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); - provider.provideGeneratedTOBuilderForBitsTypeDefinition("", null, "", ""); - } - - @Test(expected = IllegalArgumentException.class) - public void provideGeneratedTOBuilderForBitsTypeDefinitionWithBasePackageNullTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); - final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "yang-int8-type"); - final TypeDefinition leafType = leaf.getType(); - provider.provideGeneratedTOBuilderForBitsTypeDefinition(null, leafType, "", ""); - } - - @Test - public void provideGeneratedTOBuilderForBitsTypeDefinitionWithNonBitsTypedefTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); - - final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "yang-int8-type"); - final TypeDefinition leafType = leaf.getType(); - final Type type = provider.provideGeneratedTOBuilderForBitsTypeDefinition("", leafType, "", ""); - - assertEquals(null, type); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); + provider.provideGeneratedTOBuilderForBitsTypeDefinition(JavaTypeName.create("foo", "foo"), null, "foo"); } @Test public void getConstructorPropertyNameTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext); - final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "yang-int8-type"); + final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", + "yang-int8-type"); final TypeDefinition leafType = leaf.getType(); final String ctorPropertyName = provider.getConstructorPropertyName(leafType); @@ -689,9 +667,10 @@ public class TypeProviderTest { @Test public void getParamNameFromTypeTest() { - final TypeProvider provider = new TypeProviderImpl(this.schemaContext); + final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext); - final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "yang-int8-type"); + final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", + "yang-int8-type"); final TypeDefinition leafType = leaf.getType(); final String paramName = provider.getParamNameFromType(leafType); @@ -700,20 +679,19 @@ public class TypeProviderTest { @Test public void addUnitsToGenTOTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); - - final GeneratedTOBuilder builder = new GeneratedTOBuilderImpl("test.package", "TestBuilder"); + final GeneratedTOBuilder builder = new CodegenGeneratedTOBuilder( + JavaTypeName.create("test.package", "TestBuilder")); - TypeProviderImpl.addUnitsToGenTO(builder, null); - GeneratedTransferObject genTO = builder.toInstance(); + CodegenTypeProvider.addUnitsToGenTO(builder, null); + GeneratedTransferObject genTO = builder.build(); assertTrue(genTO.getConstantDefinitions().isEmpty()); - TypeProviderImpl.addUnitsToGenTO(builder, ""); - genTO = builder.toInstance(); + CodegenTypeProvider.addUnitsToGenTO(builder, ""); + genTO = builder.build(); assertTrue(genTO.getConstantDefinitions().isEmpty()); - TypeProviderImpl.addUnitsToGenTO(builder, "125"); - genTO = builder.toInstance(); + CodegenTypeProvider.addUnitsToGenTO(builder, "125"); + genTO = builder.build(); assertTrue(!genTO.getConstantDefinitions().isEmpty()); assertEquals(1, genTO.getConstantDefinitions().size()); assertEquals("_UNITS", genTO.getConstantDefinitions().get(0).getName()); @@ -722,14 +700,14 @@ public class TypeProviderTest { @Test(expected = NullPointerException.class) public void getTypeDefaultConstructionLeafTypeNullTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final TestLeafSchemaNode leafSchemaNode = new TestLeafSchemaNode(); provider.getTypeDefaultConstruction(leafSchemaNode, null); } @Test(expected = NullPointerException.class) public void getTypeDefaultConstructionDefaultValueNullTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final LeafSchemaNode leaf = provideLeafForGetDefaultConstructionTestCase("yang-boolean"); provider.getTypeDefaultConstruction(leaf, null); } @@ -741,21 +719,21 @@ public class TypeProviderTest { @Test(expected = UnsupportedOperationException.class) public void getTypeDefaultConstructionDefaultValueForInstanceIdentifierTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final LeafSchemaNode leaf = provideLeafForGetDefaultConstructionTestCase("foo-container-id"); provider.getTypeDefaultConstruction(leaf, "NAN"); } @Test(expected = UnsupportedOperationException.class) public void getTypeDefaultConstructionDefaultValueForIdentityrefTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); final LeafSchemaNode leaf = provideLeafForGetDefaultConstructionTestCase("aes-identityref-type"); provider.getTypeDefaultConstruction(leaf, "NAN"); } @Test public void getTypeDefaultConstructionDefaultValueTest() { - final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext); + final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext); LeafSchemaNode leaf = provideLeafForGetDefaultConstructionTestCase("yang-boolean"); String result = provider.getTypeDefaultConstruction(leaf, "true"); @@ -920,14 +898,14 @@ public class TypeProviderTest { result = provider.getTypeDefaultConstruction(leaf); assertNotNull(result); assertTrue(!result.isEmpty()); - assertEquals("new org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.type.provider.model.rev140912.TestTypeProviderData.RootBitsLeaf(false, true, false)", + assertEquals("new org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.type.provider.model.rev140912.TestTypeProviderData.RootBitsLeaf(true, false, false)", result); leaf = provideLeafForGetDefaultConstructionTestCase("yang-bits"); - result = provider.getTypeDefaultConstruction(leaf, "10-Mb-only"); + result = provider.getTypeDefaultConstruction(leaf, "only-10-Mb"); assertNotNull(result); assertTrue(!result.isEmpty()); - assertEquals("new org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.base.yang.types.rev140914.YangBits(true, false, false)", + assertEquals("new org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.base.yang.types.rev140914.YangBits(false, false, true)", result); leaf = provideLeafForGetDefaultConstructionTestCase("bar-id");