Bug 6173: Allow refine statement to have no substatements
[yangtools.git] / yang / yang-parser-impl / src / test / java / org / opendaylight / yangtools / yang / stmt / test / SubstatementValidatorTest.java
index f4fe296a26ef73c6bcddef7b07013ce0d8518076..16f095e597e3472e1621ca4366a07ccc308058a8 100644 (file)
@@ -8,13 +8,13 @@
 
 package org.opendaylight.yangtools.yang.stmt.test;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 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;
@@ -47,22 +47,23 @@ public class SubstatementValidatorTest {
 
     @Test
     public void noException() throws URISyntaxException, ReactorException {
-        Set<Module> modules = TestUtils.loadModules(getClass().getResource("/augment-test/augment-in-augment").toURI());
+        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());
+        final Set<Module> modules = TestUtils.loadModules(getClass().getResource(
+                "/substatement-validator/undesirable-element").toURI());
         testLog = output.toString();
         assertTrue(testLog.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());
+        final 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"));
     }
@@ -71,23 +72,22 @@ public class SubstatementValidatorTest {
     public void missingElementException() throws URISyntaxException, ReactorException {
         expectedEx.expect(MissingSubstatementException.class);
 
-        Set<Module> modules = TestUtils.loadModules(getClass().getResource
-                ("/substatement-validator/missing-element").toURI());
+        final Set<Module> modules = 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 ReactorException, URISyntaxException {
+        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());
+        final Set<Module> modules = TestUtils.loadModules(getClass().getResource("/substatement-validator/bug-4310")
+                .toURI());
     }
 }
\ No newline at end of file