Use assertThrows() in more componments 69/92569/3
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 21 Sep 2020 16:25:42 +0000 (18:25 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 21 Sep 2020 16:55:35 +0000 (18:55 +0200)
Eliminate use of @Test(expected) and explicit flow control in favor
of assertThrows().

Change-Id: Icd97391178bbb1342ddb05a874297678fe51d1f5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/rfc6643-parser-support/src/test/java/org/opendaylight/yangtools/rfc6643/parser/ObjectIdentifierTest.java
yang/rfc8040-parser-support/src/test/java/org/opendaylight/yangtools/rfc8040/parser/YangDataExtensionTest.java
yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/PathArgumentListTest.java
yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifierTest.java
yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java
yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNodesTest.java
yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidatesAggregateTest.java
yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidatesTest.java
yang/yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/PotentialSchemaSourceTest.java

index 0529558c990e87ff78a51e65f04d4989716659e1..7aa5334088315982147fd22f854132b6042845ad 100644 (file)
@@ -7,12 +7,14 @@
  */
 package org.opendaylight.yangtools.rfc6643.parser;
 
+import static org.junit.Assert.assertThrows;
+
 import org.junit.Test;
 import org.opendaylight.yangtools.rfc6643.model.api.ObjectIdentifier;
 
 public class ObjectIdentifierTest {
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testObjectIdentifierCreationWithBadOID() {
-        ObjectIdentifier.forString("bad oid");
+        assertThrows(IllegalArgumentException.class, () -> ObjectIdentifier.forString("bad oid"));
     }
 }
index c730f1392d2fd3921c803fa10f610cc41352eaed..61a75b93459bfbdb8ef26e1f1da69396ceb92c72 100644 (file)
@@ -5,13 +5,15 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.yangtools.rfc8040.parser;
 
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.startsWith;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import com.google.common.collect.ImmutableSet;
 import java.io.IOException;
@@ -39,6 +41,7 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
+import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor.BuildAction;
 
 public class YangDataExtensionTest {
 
@@ -185,38 +188,29 @@ public class YangDataExtensionTest {
 
     @Test
     public void testYangDataWithMissingTopLevelContainer() {
-        try {
-            reactor.newBuild().addSources(FOO_INVALID_1_MODULE, IETF_RESTCONF_MODULE).buildEffective();
-            fail("Exception should have been thrown because of missing top-level container in yang-data statement.");
-        } catch (final ReactorException ex) {
-            final Throwable cause = ex.getCause();
-            assertTrue(cause instanceof MissingSubstatementException);
-            assertTrue(cause.getMessage().startsWith("YANG_DATA is missing CONTAINER. Minimal count is 1."));
-        }
+        final BuildAction build = reactor.newBuild().addSources(FOO_INVALID_1_MODULE, IETF_RESTCONF_MODULE);
+        final ReactorException ex = assertThrows(ReactorException.class, () -> build.buildEffective());
+        final Throwable cause = ex.getCause();
+        assertThat(cause, instanceOf(MissingSubstatementException.class));
+        assertThat(cause.getMessage(), startsWith("YANG_DATA is missing CONTAINER. Minimal count is 1."));
     }
 
     @Test
     public void testYangDataWithTwoTopLevelContainers() {
-        try {
-            reactor.newBuild().addSources(FOO_INVALID_2_MODULE, IETF_RESTCONF_MODULE).buildEffective();
-            fail("Exception should have been thrown because of two top-level containers in yang-data statement.");
-        } catch (final ReactorException ex) {
-            final Throwable cause = ex.getCause();
-            assertTrue(cause instanceof InvalidSubstatementException);
-            assertTrue(cause.getMessage().startsWith("Maximal count of CONTAINER for YANG_DATA is 1, detected 2."));
-        }
+        final BuildAction build = reactor.newBuild().addSources(FOO_INVALID_2_MODULE, IETF_RESTCONF_MODULE);
+        final ReactorException ex = assertThrows(ReactorException.class, () -> build.buildEffective());
+        final Throwable cause = ex.getCause();
+        assertThat(cause, instanceOf(InvalidSubstatementException.class));
+        assertTrue(cause.getMessage().startsWith("Maximal count of CONTAINER for YANG_DATA is 1, detected 2."));
     }
 
     @Test
     public void testYangDataWithInvalidToplevelNode() {
-        try {
-            reactor.newBuild().addSources(FOO_INVALID_3_MODULE, IETF_RESTCONF_MODULE).buildEffective();
-            fail("Exception should have been thrown because of invalid top-level node in yang-data statement.");
-        } catch (final ReactorException ex) {
-            final Throwable cause = ex.getCause();
-            assertTrue(cause instanceof InvalidSubstatementException);
-            assertTrue(cause.getMessage().startsWith("LEAF is not valid for YANG_DATA."));
-        }
+        final BuildAction build = reactor.newBuild().addSources(FOO_INVALID_3_MODULE, IETF_RESTCONF_MODULE);
+        final ReactorException ex = assertThrows(ReactorException.class, () -> build.buildEffective());
+        final Throwable cause = ex.getCause();
+        assertThat(cause, instanceOf(InvalidSubstatementException.class));
+        assertThat(cause.getMessage(), startsWith("LEAF is not valid for YANG_DATA."));
     }
 
     private static StatementStreamSource sourceForResource(final String resourceName) {
index 8b3fb3c47db726fdcd01f04549310b48bd85d99f..5d8f678def11f9c0a82ea652c3ea8edf8cf21265 100644 (file)
@@ -9,8 +9,8 @@ package org.opendaylight.yangtools.yang.data.api;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import com.google.common.collect.UnmodifiableIterator;
 import java.net.URI;
@@ -29,7 +29,7 @@ public class PathArgumentListTest {
     private static final class TestClass extends PathArgumentList {
         @Override
         public UnmodifiableIterator<PathArgument> iterator() {
-            return new UnmodifiableIterator<PathArgument>() {
+            return new UnmodifiableIterator<>() {
                 @Override
                 public boolean hasNext() {
                     return false;
@@ -62,47 +62,12 @@ public class PathArgumentListTest {
     public void testProtections() {
         final PathArgumentList l = new TestClass();
 
-        try {
-            l.remove(null);
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // Expected
-        }
-
-        try {
-            l.addAll(Collections.emptyList());
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // Expected
-        }
-
-        try {
-            l.removeAll(Collections.emptyList());
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // Expected
-        }
-
-        try {
-            l.retainAll(Collections.emptyList());
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // Expected
-        }
-
-        try {
-            l.clear();
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // Expected
-        }
-
-        try {
-            l.addAll(0, null);
-            fail();
-        } catch (UnsupportedOperationException e) {
-            // Expected
-        }
+        assertThrows(UnsupportedOperationException.class, () -> l.remove(null));
+        assertThrows(UnsupportedOperationException.class, () -> l.addAll(Collections.emptyList()));
+        assertThrows(UnsupportedOperationException.class, () -> l.removeAll(Collections.emptyList()));
+        assertThrows(UnsupportedOperationException.class, () -> l.retainAll(Collections.emptyList()));
+        assertThrows(UnsupportedOperationException.class, () -> l.clear());
+        assertThrows(UnsupportedOperationException.class, () -> l.addAll(0, null));
     }
 
     @Test
@@ -147,11 +112,6 @@ public class PathArgumentListTest {
         assertEquals(stackedYangInstanceIdentifier, stackedYangInstanceIdentifierClone);
         assertEquals(stackedReversePathArguments, yangInstanceIdentifier1.getReversePathArguments());
 
-        try {
-            stackedYangInstanceIdentifier.getAncestor(12);
-            fail();
-        } catch (IllegalArgumentException e) {
-            // Expected
-        }
+        assertThrows(IllegalArgumentException.class, () -> stackedYangInstanceIdentifier.getAncestor(12));
     }
 }
index a547cc28f6cc76f2de1dd054030c9e45133f0465..bc4c4630602a4824969a0f94ed4516a0a204895d 100644 (file)
@@ -14,6 +14,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
 
 import com.google.common.collect.ImmutableMap;
@@ -148,11 +149,11 @@ public class YangInstanceIdentifierTest {
         assertFalse("isPresent", relative.isPresent());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testContainsNull() {
         final YangInstanceIdentifier id = YangInstanceIdentifier.create(new NodeIdentifier(NODENAME1));
 
-        id.contains(null);
+        assertThrows(IllegalArgumentException.class, () -> id.contains(null));
     }
 
     @Test
@@ -327,10 +328,10 @@ public class YangInstanceIdentifierTest {
         assertNotNull(node1.toString());
     }
 
-    @Test(expected = UnsupportedOperationException.class)
+    @Test
     public void testAugmentationIdentifierNodeType() {
         AugmentationIdentifier node1 = new AugmentationIdentifier(ImmutableSet.of(NODENAME1, NODENAME2));
-        node1.getNodeType();
+        assertThrows(UnsupportedOperationException.class, () -> node1.getNodeType());
     }
 
     @Test
index 1fd932b6c958ec05719aca215cd13e5af43ee248..8d68d76a9a56d029ff450d6a3785c5a9f7aaf6b8 100644 (file)
@@ -9,8 +9,8 @@ package org.opendaylight.yangtools.yang.data.api.schema.stream;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doCallRealMethod;
 import static org.mockito.Mockito.doReturn;
@@ -70,13 +70,9 @@ public class NormalizedNodeWriterTest {
 
         assertEquals(loggingNormalizedNodeStreamWriter, orderedNormalizedNodeWriter.getWriter());
 
-        final NormalizedNode<?, ?> mockedNormalizedNode = mock(NormalizedNode.class);
-        try {
-            orderedNormalizedNodeWriter.write(mockedNormalizedNode);
-            fail("An IllegalStateException should have been thrown!");
-        } catch (IllegalStateException ex) {
-            assertTrue(ex.getMessage().startsWith("It wasn't possible to serialize node"));
-        }
+        final IllegalStateException ex = assertThrows(IllegalStateException.class,
+            () -> orderedNormalizedNodeWriter.write(mock(NormalizedNode.class)));
+        assertTrue(ex.getMessage().startsWith("It wasn't possible to serialize node"));
 
         final NormalizedNode<?, ?> mockedLeafSetEntryNode = mock(LeafSetEntryNode.class);
         doReturn(new NodeWithValue<>(myLeafList, "leaflist-value-1")).when(mockedLeafSetEntryNode).getIdentifier();
index 056bb950640ecd259a257d50447ad94f81986369..9f268cb470f5ff3922092ef9f2286c8f3046b8e4 100644 (file)
@@ -7,9 +7,10 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema.tree;
 
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Mockito.doReturn;
@@ -27,7 +28,6 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
 public class DataTreeCandidateNodesTest {
-
     @Test
     public void testFromNormalizedNode() {
         final NormalizedNode<?, ?> mockedNormalizedNode = mock(NormalizedNode.class);
@@ -94,12 +94,9 @@ public class DataTreeCandidateNodesTest {
         final DataTreeModificationCursor mockedCursor = mock(DataTreeModificationCursor.class);
 
         doReturn(ModificationType.APPEARED).when(mockedDataTreeCandidateNode).getModificationType();
-        try {
-            DataTreeCandidateNodes.applyToCursor(mockedCursor, mockedDataTreeCandidateNode);
-            fail("An IllegalArgumentException should have been thrown!");
-        } catch (IllegalArgumentException ex) {
-            assertTrue(ex.getMessage().contains("Unsupported modification"));
-        }
+        final IllegalArgumentException ex = assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidateNodes.applyToCursor(mockedCursor, mockedDataTreeCandidateNode));
+        assertThat(ex.getMessage(), containsString("Unsupported modification"));
     }
 
     @Test
@@ -150,12 +147,10 @@ public class DataTreeCandidateNodesTest {
         final DataTreeModificationCursor mockedCursor = mock(DataTreeModificationCursor.class);
 
         doReturn(ModificationType.APPEARED).when(mockedDataTreeCandidateNode).getModificationType();
-        try {
-            DataTreeCandidateNodes.applyRootedNodeToCursor(mockedCursor, mockedRootPath, mockedDataTreeCandidateNode);
-            fail("An IllegalArgumentException should have been thrown!");
-        } catch (IllegalArgumentException ex) {
-            assertTrue(ex.getMessage().contains("Unsupported modification"));
-        }
+        final IllegalArgumentException ex = assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidateNodes.applyRootedNodeToCursor(mockedCursor, mockedRootPath,
+                mockedDataTreeCandidateNode));
+        assertThat(ex.getMessage(), containsString("Unsupported modification"));
     }
 
     @Test
@@ -179,12 +174,9 @@ public class DataTreeCandidateNodesTest {
         final DataTreeModificationCursor mockedCursor = mock(DataTreeModificationCursor.class);
 
         doReturn(ModificationType.DELETE).when(mockedDataTreeCandidateNode).getModificationType();
-        try {
-            DataTreeCandidateNodes.applyRootToCursor(mockedCursor, mockedDataTreeCandidateNode);
-            fail("An IllegalArgumentException should have been thrown!");
-        } catch (IllegalArgumentException ex) {
-            assertTrue(ex.getMessage().contains("Can not delete root"));
-        }
+        final IllegalArgumentException ex = assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidateNodes.applyRootToCursor(mockedCursor, mockedDataTreeCandidateNode));
+        assertThat(ex.getMessage(), containsString("Can not delete root"));
     }
 
     @Test
@@ -193,11 +185,8 @@ public class DataTreeCandidateNodesTest {
         final DataTreeModificationCursor mockedCursor = mock(DataTreeModificationCursor.class);
 
         doReturn(ModificationType.APPEARED).when(mockedDataTreeCandidateNode).getModificationType();
-        try {
-            DataTreeCandidateNodes.applyRootToCursor(mockedCursor, mockedDataTreeCandidateNode);
-            fail("An IllegalArgumentException should have been thrown!");
-        } catch (IllegalArgumentException ex) {
-            assertTrue(ex.getMessage().contains("Unsupported modification"));
-        }
+        final IllegalArgumentException ex = assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidateNodes.applyRootToCursor(mockedCursor, mockedDataTreeCandidateNode));
+        assertThat(ex.getMessage(), containsString("Unsupported modification"));
     }
 }
index 52e1fc827115ad802411df21a7b74358cb3fa3b6..3c60f43d6e86356fe6cb7f7e7e3c3b11f8197ccd 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.yangtools.yang.data.api.schema.tree;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThrows;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -92,7 +93,7 @@ public class DataTreeCandidatesAggregateTest {
         assertEquals(Optional.empty(), aggregationResult.getRootNode().getDataAfter());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testLeafUnmodifiedDeleteWithoutDataBefore() {
         DataTreeCandidateNode node1 = dataTreeCandidateNode(null, null,
                 ModificationType.UNMODIFIED);
@@ -102,10 +103,11 @@ public class DataTreeCandidatesAggregateTest {
                 ModificationType.DELETE);
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testLeafUnmodifiedSubtreeModifiedWithoutDataBefore() {
         DataTreeCandidateNode node1 = dataTreeCandidateNode(null, null,
                 ModificationType.UNMODIFIED);
@@ -115,7 +117,8 @@ public class DataTreeCandidatesAggregateTest {
                 ModificationType.SUBTREE_MODIFIED);
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
     @Test
@@ -237,7 +240,7 @@ public class DataTreeCandidatesAggregateTest {
         assertEquals("value2", aggregationResult.getRootNode().getDataAfter().get().getValue());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testLeafDeleteDelete() {
         NormalizedNode<?, ?> normalizedNode1 = normalizedNode("value1");
 
@@ -249,10 +252,11 @@ public class DataTreeCandidatesAggregateTest {
                 ModificationType.DELETE);
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testLeafDeleteDisappear() {
         NormalizedNode<?, ?> normalizedNode1 = normalizedNode("value1");
 
@@ -264,10 +268,11 @@ public class DataTreeCandidatesAggregateTest {
                 ModificationType.DISAPPEARED);
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testLeafDeleteSubtreeModified() {
         NormalizedNode<?, ?> normalizedNode1 = normalizedNode("value1");
 
@@ -279,7 +284,8 @@ public class DataTreeCandidatesAggregateTest {
                 ModificationType.SUBTREE_MODIFIED);
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
     @Test
@@ -356,7 +362,7 @@ public class DataTreeCandidatesAggregateTest {
         assertEquals(ModificationType.WRITE, aggregationResult.getRootNode().getModificationType());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testUnmodifiedSubtreeModifiedWithoutDataBefore() {
         NormalizedNode<?, ?> parentNode = normalizedNode("container");
         NormalizedNode<?, ?> childNode = normalizedNode("child");
@@ -375,7 +381,8 @@ public class DataTreeCandidatesAggregateTest {
         setChildNodes(node2, Collections.singletonList(child2));
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
     //FIXME
@@ -405,7 +412,7 @@ public class DataTreeCandidatesAggregateTest {
         assertEquals(ModificationType.SUBTREE_MODIFIED, aggregationResult.getRootNode().getModificationType());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testUnmodifiedAppearedWithDataBefore() {
         NormalizedNode<?, ?> parentNode1 = normalizedNode("container1");
         NormalizedNode<?, ?> childNode1 = normalizedNode("child1");
@@ -426,7 +433,8 @@ public class DataTreeCandidatesAggregateTest {
         setChildNodes(node2, Collections.singletonList(child2));
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
     //FIXME
@@ -454,7 +462,7 @@ public class DataTreeCandidatesAggregateTest {
         assertEquals(ModificationType.APPEARED, aggregationResult.getRootNode().getModificationType());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testUnmodifiedDisappearWithoutDataBefore() {
         NormalizedNode<?, ?> parentNode = normalizedNode("container");
         NormalizedNode<?, ?> childNode = normalizedNode("child");
@@ -473,7 +481,8 @@ public class DataTreeCandidatesAggregateTest {
         setChildNodes(node2, Collections.singletonList(child2));
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
     @Test
@@ -704,7 +713,7 @@ public class DataTreeCandidatesAggregateTest {
         assertEquals(ModificationType.WRITE, aggregationResult.getRootNode().getModificationType());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testWriteAppear() {
         NormalizedNode<?, ?> parentNode1 = normalizedNode("container1");
         NormalizedNode<?, ?> parentNode2 = normalizedNode("container2");
@@ -726,7 +735,8 @@ public class DataTreeCandidatesAggregateTest {
         setChildNodes(node2, Collections.singletonList(child2));
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
     @Test
@@ -884,7 +894,7 @@ public class DataTreeCandidatesAggregateTest {
         assertEquals(ModificationType.SUBTREE_MODIFIED, aggregationResult.getRootNode().getModificationType());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testSubtreeModifiedAppear() {
         NormalizedNode<?, ?> parentNode1 = normalizedNode("container");
         NormalizedNode<?, ?> parentNode2 = normalizedNode("value2");
@@ -906,7 +916,8 @@ public class DataTreeCandidatesAggregateTest {
         setChildNodes(node2, Collections.singletonList(child2));
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
     @Test
@@ -1033,7 +1044,7 @@ public class DataTreeCandidatesAggregateTest {
         assertEquals(ModificationType.APPEARED, aggregationResult.getRootNode().getModificationType());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testAppearedAppeared() {
         NormalizedNode<?, ?> parentNode1 = normalizedNode("container");
         NormalizedNode<?, ?> childNode1 = normalizedNode("child1");
@@ -1052,7 +1063,8 @@ public class DataTreeCandidatesAggregateTest {
         setChildNodes(node2, Collections.singletonList(child2));
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
     @Test
@@ -1103,7 +1115,7 @@ public class DataTreeCandidatesAggregateTest {
         assertEquals(ModificationType.DISAPPEARED, aggregationResult.getRootNode().getModificationType());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testDisappearedDelete() {
         NormalizedNode<?, ?> parentNode1 = normalizedNode("container");
         NormalizedNode<?, ?> childNode1 = normalizedNode("child1");
@@ -1122,7 +1134,8 @@ public class DataTreeCandidatesAggregateTest {
         setChildNodes(node2, Collections.singletonList(child2));
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
     @Test
@@ -1151,7 +1164,7 @@ public class DataTreeCandidatesAggregateTest {
         assertEquals(ModificationType.WRITE, aggregationResult.getRootNode().getModificationType());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testDisappearedSubtreeModified() {
         NormalizedNode<?, ?> parentNode1 = normalizedNode("container");
         NormalizedNode<?, ?> childNode1 = normalizedNode("child1");
@@ -1171,7 +1184,8 @@ public class DataTreeCandidatesAggregateTest {
         setChildNodes(node2, Collections.singletonList(child2));
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
     @Test
@@ -1200,7 +1214,7 @@ public class DataTreeCandidatesAggregateTest {
         assertEquals(ModificationType.SUBTREE_MODIFIED, aggregationResult.getRootNode().getModificationType());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testDisappearedDisappear() {
         NormalizedNode<?, ?> parentNode1 = normalizedNode("container");
         NormalizedNode<?, ?> childNode1 = normalizedNode("child1");
@@ -1219,7 +1233,8 @@ public class DataTreeCandidatesAggregateTest {
         setChildNodes(node2, Collections.singletonList(child2));
         DataTreeCandidate candidate2 = new DefaultDataTreeCandidate(ROOT_PATH, node2);
 
-        DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2));
+        assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.aggregate(Arrays.asList(candidate1, candidate2)));
     }
 
     private static NormalizedNode<?, ?> normalizedNode(final String value) {
index 8acb38fdee60d309d2d4b6fea9a995b6d94667e1..9a1658b2c62f7927899dcb11a528a6343197893c 100644 (file)
@@ -5,14 +5,14 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.yangtools.yang.data.api.schema.tree;
 
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Mockito.doReturn;
@@ -200,11 +200,8 @@ public class DataTreeCandidatesTest {
 
         doReturn(ModificationType.APPEARED).when(mockedDataTreeCandidateNode).getModificationType();
 
-        try {
-            DataTreeCandidates.applyToModification(mockedModification, mockedDataTreeCandidate);
-            fail("An IllegalArgumentException should have been thrown!");
-        } catch (IllegalArgumentException ex) {
-            assertTrue(ex.getMessage().contains("Unsupported modification"));
-        }
+        final IllegalArgumentException ex = assertThrows(IllegalArgumentException.class,
+            () -> DataTreeCandidates.applyToModification(mockedModification, mockedDataTreeCandidate));
+        assertThat(ex.getMessage(), containsString("Unsupported modification"));
     }
 }
index 95cf66444390fe87140ce3dfc5d5da4cadb48c1d..ed4e25075e5dcd53679a30e03ab5f02f624444d7 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.model.repo.spi;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
 
 import org.junit.Before;
@@ -39,9 +40,10 @@ public class PotentialSchemaSourceTest {
             source.getCost());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void testNegativeCost() {
-        PotentialSchemaSource.create(sourceIdentifier, TestSchemaSourceRepresentation.class, -1);
+        assertThrows(IllegalArgumentException.class,
+            () -> PotentialSchemaSource.create(sourceIdentifier, TestSchemaSourceRepresentation.class, -1));
     }
 
     @Test