YANGTOOLS-706: Refactor YangInferencePipeline
[yangtools.git] / yang / yang-parser-impl / src / test / java / org / opendaylight / yangtools / yang / stmt / EffectiveSchemaContextTest.java
index c5dd31b6f9b5d27ab19d537bf99696c09a7af4ef..ac8c72f9ba4d4bdb59c614ff9e15eee25526cab8 100644 (file)
@@ -35,28 +35,25 @@ import org.opendaylight.yangtools.yang.model.api.Status;
 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
+import org.opendaylight.yangtools.yang.model.util.SimpleSchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YangStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.EffectiveSchemaContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class EffectiveSchemaContextTest {
 
     @Test
     public void testEffectiveSchemaContext() throws ReactorException, ParseException, URISyntaxException, IOException,
             YangSyntaxErrorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-
-        final YangStatementStreamSource source1 = YangStatementStreamSource.create(YangTextSchemaSource.forResource(
-            "/effective-schema-context-test/foo.yang"));
-        final YangStatementStreamSource source2 = YangStatementStreamSource.create(YangTextSchemaSource.forResource(
-            "/effective-schema-context-test/bar.yang"));
-        final YangStatementStreamSource source3 = YangStatementStreamSource.create(YangTextSchemaSource.forResource(
-            "/effective-schema-context-test/baz.yang"));
-
-        reactor.addSources(source1, source2, source3);
-        final SchemaContext schemaContext = reactor.buildEffective();
+        final EffectiveSchemaContext schemaContext = DefaultReactors.defaultReactor().newBuild()
+                .addSource(YangStatementStreamSource.create(YangTextSchemaSource.forResource(
+                        "/effective-schema-context-test/foo.yang")))
+                .addSource(YangStatementStreamSource.create(YangTextSchemaSource.forResource(
+                        "/effective-schema-context-test/bar.yang")))
+                .addSource(YangStatementStreamSource.create(YangTextSchemaSource.forResource(
+                        "/effective-schema-context-test/baz.yang")))
+                .buildEffective();
         assertNotNull(schemaContext);
 
         final Set<DataSchemaNode> dataDefinitions = schemaContext.getDataDefinitions();
@@ -79,17 +76,16 @@ public class EffectiveSchemaContextTest {
 
         assertNull(schemaContext.getDataChildByName(QName.create("foo-namespace", "2016-09-21", "foo-cont")));
 
-        assertFalse(schemaContext.findModule("foo", Revision.valueOf("2016-08-21")).isPresent());
-        assertFalse(schemaContext.findModule(URI.create("foo-namespace"), Revision.valueOf("2016-08-21"))
-            .isPresent());
+        assertFalse(schemaContext.findModule("foo", Revision.of("2016-08-21")).isPresent());
+        assertFalse(schemaContext.findModule(URI.create("foo-namespace"), Revision.of("2016-08-21")).isPresent());
 
         assertFalse(schemaContext.isAugmenting());
         assertFalse(schemaContext.isAddedByUses());
         assertFalse(schemaContext.isConfiguration());
         assertFalse(schemaContext.isPresenceContainer());
         assertNull(schemaContext.getConstraints());
-        assertNull(schemaContext.getDescription());
-        assertNull(schemaContext.getReference());
+        assertFalse(schemaContext.getDescription().isPresent());
+        assertFalse(schemaContext.getReference().isPresent());
         assertEquals(SchemaContext.NAME, schemaContext.getQName());
         assertEquals(SchemaPath.ROOT, schemaContext.getPath());
         assertEquals(Status.CURRENT, schemaContext.getStatus());
@@ -98,13 +94,13 @@ public class EffectiveSchemaContextTest {
         assertNotNull(schemaContext.getAvailableAugmentations());
         assertTrue(schemaContext.getAvailableAugmentations().isEmpty());
 
-        Module fooModule = schemaContext.findModule("foo", Revision.valueOf("2016-09-21")).get();
+        Module fooModule = schemaContext.findModule("foo", Revision.of("2016-09-21")).get();
         assertEquals(3, schemaContext.getModules().size());
-        assertEquals(3, ((EffectiveSchemaContext) schemaContext).getRootDeclaredStatements().size());
-        assertEquals(3,((EffectiveSchemaContext) schemaContext).getRootEffectiveStatements().size());
+        assertEquals(3, schemaContext.getRootDeclaredStatements().size());
+        assertEquals(3, schemaContext.getRootEffectiveStatements().size());
 
         final Set<Module> modules = schemaContext.getModules();
-        final SchemaContext copiedSchemaContext = EffectiveSchemaContext.resolveSchemaContext(modules);
+        final SchemaContext copiedSchemaContext =  SimpleSchemaContext.forModules(modules);
         assertNotNull(copiedSchemaContext);
         assertEquals(modules, copiedSchemaContext.getModules());
     }