* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.yangtools.sal.binding.yang.types;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.reset;
import java.io.File;
import java.net.URI;
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.builder.impl.LeafSchemaNodeBuilder;
import org.opendaylight.yangtools.yang.parser.util.YangValidationException;
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 = TestUtils.parseYangSources(relative);
final Module moduleRelative = schemaContext.findModuleByNamespace(new URI("urn:xml:ns:yang:lrr")).iterator().next();
final TypeProviderImpl typeProvider = new TypeProviderImpl(schemaContext);
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 = TestUtils.parseYangSources(relative);
final Module moduleRelative = schemaContext.findModuleByNamespace(new URI("urn:xml:ns:yang:lra")).iterator().next();
final TypeProviderImpl typeProvider = new TypeProviderImpl(schemaContext);
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 = TestUtils.parseYangSources(valid);
final Module moduleValid = schemaContext.findModuleByNamespace(new URI("urn:xml:ns:yang:lrv")).iterator().next();
final TypeProviderImpl typeProvider = new TypeProviderImpl(schemaContext);
final File abstractTopology = new File(getClass().getResource("/base-yang-types.yang")
.toURI());
- final SchemaContext schemaContext = RetestUtils.parseYangSources(abstractTopology);
+ final SchemaContext schemaContext = TestUtils.parseYangSources(abstractTopology);
final TypeProviderImpl typeProvider = new TypeProviderImpl(schemaContext);
final GeneratedTypeBuilderImpl refType = new GeneratedTypeBuilderImpl("org.opendaylight.yangtools.test", "TestType");
typeProvider.putReferencedType(refTypePath, refType);
final StringTypeDefinition stringType = BaseTypes.stringType();
- LeafSchemaNodeBuilder leafSchemaNodeBuilder = new LeafSchemaNodeBuilder("test-module", 111, QName.create("Cont1"), SchemaPath.ROOT);
- leafSchemaNodeBuilder.setType(stringType);
- LeafSchemaNode leafSchemaNode = leafSchemaNodeBuilder.build();
+
+ final LeafSchemaNode leafSchemaNode = mock(LeafSchemaNode.class);
+ doReturn(stringType).when(leafSchemaNode).getType();
+ doReturn(SchemaPath.ROOT).when(leafSchemaNode).getPath();
+ doReturn(QName.create("Cont1")).when(leafSchemaNode).getQName();
// test constructor
assertNotNull(typeProvider);
// binary type
final BinaryTypeDefinition binaryType = BaseTypes.binaryType();
- leafSchemaNodeBuilder = new LeafSchemaNodeBuilder("test-module", 111, QName.create("Cont1"), SchemaPath.ROOT);
- leafSchemaNodeBuilder.setType(binaryType);
- leafSchemaNode = leafSchemaNodeBuilder.build();
+
+ reset(leafSchemaNode);
+ doReturn(binaryType).when(leafSchemaNode).getType();
+ doReturn(SchemaPath.ROOT).when(leafSchemaNode).getPath();
+ doReturn(QName.create("Cont1")).when(leafSchemaNode).getQName();
+
assertEquals("new byte[] {-45}", typeProvider.getTypeDefaultConstruction(leafSchemaNode, "01"));
// boolean type
final BooleanTypeDefinition booleanType = BaseTypes.booleanType();
- leafSchemaNodeBuilder = new LeafSchemaNodeBuilder("test-module", 111, QName.create("Cont1"), SchemaPath.ROOT);
- leafSchemaNodeBuilder.setType(booleanType);
- leafSchemaNode = leafSchemaNodeBuilder.build();
+
+ reset(leafSchemaNode);
+ doReturn(booleanType).when(leafSchemaNode).getType();
+ doReturn(SchemaPath.ROOT).when(leafSchemaNode).getPath();
+ doReturn(QName.create("Cont1")).when(leafSchemaNode).getQName();
+
assertEquals("new java.lang.Boolean(\"false\")", typeProvider.getTypeDefaultConstruction(leafSchemaNode, "false"));
// decimal type
final DecimalTypeDefinition decimalType = BaseTypes.decimalTypeBuilder(refTypePath).setFractionDigits(4).build();
- leafSchemaNodeBuilder = new LeafSchemaNodeBuilder("test-module", 111, QName.create("Cont1"), SchemaPath.ROOT);
- leafSchemaNodeBuilder.setType(decimalType);
- leafSchemaNode = leafSchemaNodeBuilder.build();
+
+ reset(leafSchemaNode);
+ doReturn(decimalType).when(leafSchemaNode).getType();
+ doReturn(SchemaPath.ROOT).when(leafSchemaNode).getPath();
+ doReturn(QName.create("Cont1")).when(leafSchemaNode).getQName();
+
assertEquals("new java.math.BigDecimal(\"111\")", typeProvider.getTypeDefaultConstruction(leafSchemaNode, "111"));
// empty type
final EmptyTypeDefinition emptyType = BaseTypes.emptyType();
- leafSchemaNodeBuilder = new LeafSchemaNodeBuilder("test-module", 111, QName.create("Cont1"), SchemaPath.ROOT);
- leafSchemaNodeBuilder.setType(emptyType);
- leafSchemaNode = leafSchemaNodeBuilder.build();
+
+ reset(leafSchemaNode);
+ doReturn(emptyType).when(leafSchemaNode).getType();
+ 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"));
// enum type
final EnumTypeDefinition enumType = BaseTypes.enumerationTypeBuilder(refTypePath).build();
- leafSchemaNodeBuilder = new LeafSchemaNodeBuilder("test-module", 111, QName.create("Cont1"), SchemaPath.ROOT);
- leafSchemaNodeBuilder.setType(enumType);
- leafSchemaNode = leafSchemaNodeBuilder.build();
+
+ reset(leafSchemaNode);
+ doReturn(enumType).when(leafSchemaNode).getType();
+ doReturn(SchemaPath.ROOT).when(leafSchemaNode).getPath();
+ doReturn(QName.create("Cont1")).when(leafSchemaNode).getQName();
+
try {
assertEquals("\"default value\"", typeProvider.getTypeDefaultConstruction(leafSchemaNode, "default value"));
fail("Expected NoSuchElementException");
// identityref type
final IdentitySchemaNode identitySchemaNode = mock(IdentitySchemaNode.class);
-
final IdentityrefTypeBuilder identityRefBuilder = BaseTypes.identityrefTypeBuilder(refTypePath);
identityRefBuilder.setIdentity(identitySchemaNode);
final IdentityrefTypeDefinition identityRef = identityRefBuilder.build();
- leafSchemaNodeBuilder = new LeafSchemaNodeBuilder("test-module", 111, QName.create("Cont1"), SchemaPath.ROOT);
- leafSchemaNodeBuilder.setType(identityRef);
- leafSchemaNode = leafSchemaNodeBuilder.build();
+ reset(leafSchemaNode);
+ doReturn(identityRef).when(leafSchemaNode).getType();
+ doReturn(SchemaPath.ROOT).when(leafSchemaNode).getPath();
+ doReturn(QName.create("Cont1")).when(leafSchemaNode).getQName();
+
try {
assertEquals("\"default value\"", typeProvider.getTypeDefaultConstruction(leafSchemaNode, "default value"));
fail("Expected UnsupportedOperationException");