Update StmtTestUtils
[yangtools.git] / yang / yang-parser-impl / src / test / java / org / opendaylight / yangtools / yang / stmt / SubstatementValidatorTest.java
index e388750e000daa299d110b84a96a442b8f9110a6..9beb2b9e29642884f0d767cedcc50f09a07939d3 100644 (file)
@@ -8,15 +8,14 @@
 
 package org.opendaylight.yangtools.yang.stmt;
 
+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 com.google.common.base.VerifyException;
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;
 import java.io.UnsupportedEncodingException;
-import java.net.URISyntaxException;
-import java.util.NoSuchElementException;
 import java.util.Set;
 import org.junit.After;
 import org.junit.Before;
@@ -25,13 +24,12 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-import org.opendaylight.yangtools.yang.stmt.TestUtils;
+import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException;
 
 public class SubstatementValidatorTest {
 
     private final PrintStream stdout = System.out;
     private final ByteArrayOutputStream output = new ByteArrayOutputStream();
-    private String testLog;
 
     @Rule
     public ExpectedException expectedEx = ExpectedException.none();
@@ -47,48 +45,51 @@ public class SubstatementValidatorTest {
     }
 
     @Test
-    public void noException() throws URISyntaxException, ReactorException {
-        Set<Module> modules = TestUtils.loadModules(getClass().getResource("/augment-test/augment-in-augment").toURI());
+    public void noException() throws Exception {
+        final Set<Module> modules = TestUtils.loadModules(getClass().getResource("/augment-test/augment-in-augment")
+                .toURI());
         assertNotNull(modules);
     }
 
     @Test
-    public void undesirableElementException() throws URISyntaxException, ReactorException {
-        Set<Module> modules = TestUtils.loadModules(getClass().getResource
-                ("/substatement-validator/undesirable-element").toURI());
-        testLog = output.toString();
-        assertTrue(testLog.contains("TYPE is not valid for REVISION"));
+    public void undesirableElementException() throws Exception {
+        try {
+            TestUtils.loadModules(getClass().getResource("/substatement-validator/undesirable-element").toURI());
+            fail("Unexpected success");
+        } catch (ReactorException ex) {
+            assertNotNull(ex.getCause());
+            assertTrue(ex.getCause().getMessage().contains("TYPE is not valid for REVISION"));
+        }
     }
 
     @Test
-    public void maximalElementCountException() throws URISyntaxException, ReactorException {
-        Set<Module> modules = TestUtils.loadModules(getClass().getResource
-                ("/substatement-validator/maximal-element").toURI());
-        testLog = output.toString();
-        assertTrue(testLog.contains("Maximal count of DESCRIPTION for AUGMENT is 1"));
+    public void maximalElementCountException() throws Exception {
+        try {
+            TestUtils.loadModules(getClass().getResource("/substatement-validator/maximal-element").toURI());
+            fail("Unexpected success");
+        } catch (ReactorException ex) {
+            assertNotNull(ex.getCause());
+            assertTrue(ex.getCause().getMessage().contains("Maximal count of DESCRIPTION for AUGMENT is 1"));
+        }
     }
 
     @Test
-    public void missingElementException() throws URISyntaxException, ReactorException {
-        expectedEx.expect(VerifyException.class);
+    public void missingElementException() throws Exception {
+        expectedEx.expect(SomeModifiersUnresolvedException.class);
 
-        Set<Module> modules = TestUtils.loadModules(getClass().getResource
-                ("/substatement-validator/missing-element").toURI());
+        TestUtils.loadModules(getClass().getResource("/substatement-validator/missing-element").toURI());
     }
 
     @Test
-    public void emptyElementException() throws URISyntaxException, ReactorException {
-        expectedEx.expect(NoSuchElementException.class);
-
-        Set<Module> modules = TestUtils.loadModules(getClass().getResource
-                ("/substatement-validator/empty-element").toURI());
+    public void bug6173Test() throws Exception {
+        final Set<Module> loadModules = TestUtils.loadModules(getClass().getResource(
+                "/substatement-validator/empty-element").toURI());
+        assertEquals(1, loadModules.size());
     }
 
     @Test
-    public void bug4310test() throws URISyntaxException, ReactorException {
-        expectedEx.expect(IllegalArgumentException.class);
-
-        Set<Module> modules = TestUtils.loadModules(getClass().getResource
-                ("/substatement-validator/bug-4310").toURI());
+    public void bug4310test() throws Exception {
+        expectedEx.expect(SomeModifiersUnresolvedException.class);
+        TestUtils.loadModules(getClass().getResource("/substatement-validator/bug-4310").toURI());
     }
 }
\ No newline at end of file