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;
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();
}
@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