import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.startsWith;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
import org.junit.Test;
import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
public class NameCollisionWithinCaseTest {
@Test
- public void testChildNameCollisionOfAugmentCase() throws Exception {
- try {
- StmtTestUtils.parseYangSource("/bugs/name-collision-within-case/foo.yang");
- fail("Expected failure due to node name collision");
- } catch (ReactorException e) {
- final Throwable cause = e.getCause();
- assertThat(cause, instanceOf(SourceException.class));
- assertThat(cause.getMessage(), startsWith(
- "Cannot add data tree child with name (foo?revision=2018-02-11)bar, a conflicting child already exists "
- + "[at "));
- }
+ public void testChildNameCollisionOfAugmentCase() {
+ final ReactorException ex = assertThrows(ReactorException.class,
+ () -> StmtTestUtils.parseYangSource("/bugs/name-collision-within-case/foo.yang"));
+ final Throwable cause = ex.getCause();
+ assertThat(cause, instanceOf(SourceException.class));
+ assertThat(cause.getMessage(), startsWith("Cannot add data tree child with name (foo?revision=2018-02-11)bar, "
+ + "a conflicting child already exists [at "));
}
@Test
- public void testChildNameCollisionOfAugmentChoice() throws Exception {
- try {
- StmtTestUtils.parseYangSource("/bugs/name-collision-within-case/bar.yang");
- fail("Expected failure due to node name collision");
- } catch (ReactorException e) {
- final Throwable cause = e.getCause();
- assertThat(cause, instanceOf(SourceException.class));
- assertThat(cause.getMessage(), startsWith(
- "Cannot add data tree child with name (bar?revision=2018-02-11)bar, a conflicting child already exists "
- + "[at "));
- }
+ public void testChildNameCollisionOfAugmentChoice() {
+ final ReactorException ex = assertThrows(ReactorException.class,
+ () -> StmtTestUtils.parseYangSource("/bugs/name-collision-within-case/bar.yang"));
+ final Throwable cause = ex.getCause();
+ assertThat(cause, instanceOf(SourceException.class));
+ assertThat(cause.getMessage(), startsWith("Cannot add data tree child with name (bar?revision=2018-02-11)bar, "
+ + "a conflicting child already exists [at "));
}
@Test
public void testChildNameCollisionNormal() throws Exception {
- try {
- StmtTestUtils.parseYangSource("/bugs/name-collision-within-case/baz.yang");
- fail("Expected failure due to node name collision");
- } catch (ReactorException e) {
- final Throwable cause = e.getCause();
- assertThat(cause, instanceOf(SourceException.class));
- assertThat(cause.getMessage(), startsWith(
- "Error in module 'baz': cannot add '(baz?revision=2018-02-28)bar'. Node name collision: "));
- }
+ final ReactorException ex = assertThrows(ReactorException.class,
+ () -> StmtTestUtils.parseYangSource("/bugs/name-collision-within-case/baz.yang"));
+ final Throwable cause = ex.getCause();
+ assertThat(cause, instanceOf(SourceException.class));
+ assertThat(cause.getMessage(), startsWith(
+ "Error in module 'baz': cannot add '(baz?revision=2018-02-28)bar'. Node name collision: "));
}
}