Ranides Atterwim 4 年之前
父节点
当前提交
e4d69f5d91

+ 9 - 5
assira.junit/src/main/java/net/ranides/assira/junit/NewAssert.java

@@ -45,18 +45,18 @@ public final class NewAssert extends org.junit.Assert {
     public static void assertThrows(Class<? extends Throwable> error, Action action) {
         try {
             action.run();
-            fail(error + " expected");
         } catch(Throwable cause) { // NOPMD
-            if( !error.isInstance(cause)) {
+            if( error.isInstance(cause)) {
                 throw TestUtils.rethrow(cause);
             }
+            return;
         }
+        fail(error + " expected");
     }
 
     public static void assertThrows(Class<? extends Throwable> error, Class<? extends Throwable> cause, Action action) {
         try {
             action.run();
-            fail(error + " expected");
         } catch(Throwable e) { // NOPMD
             if( !error.isInstance(e)) {
                 throw TestUtils.rethrow(e);
@@ -65,13 +65,14 @@ public final class NewAssert extends org.junit.Assert {
             if( !cause.isInstance(c)) {
                 throw TestUtils.rethrow(e);
             }
+            return;
         }
+        fail(error + " expected");
     }
     
     public static void assertThrows(Class<? extends Throwable> error, String message, Action action) {
         try {
             action.run();
-            fail(error + " expected");
         } catch(Throwable cause) { // NOPMD
             if( !error.isInstance(cause)) {
                 throw TestUtils.rethrow(cause);
@@ -79,18 +80,21 @@ public final class NewAssert extends org.junit.Assert {
             if( !message.equals(cause.getMessage())) {
                 throw TestUtils.rethrow(cause);
             }
+            return;
         }
+        fail(error + " expected");
     }
     
     public static void assertThrows(Predicate<Throwable> handler, Action action) {
         try {
             action.run();
-            fail("Exception expected");
         } catch(Throwable cause) { // NOPMD
             if( !handler.test(cause)) {
                 throw TestUtils.rethrow(cause);
             }
+            return;
         }
+        fail("Exception expected");
     }
     
     public static void assertSerializable(Object value) {

+ 10 - 14
assira.junit/src/test/java/net/ranides/assira/junit/TestContractRunnerTest.java

@@ -6,6 +6,14 @@
  */
 package net.ranides.assira.junit;
 
+import org.junit.Test;
+
+import net.ranides.assira.junit.mockup.TesterObjects;
+import net.ranides.assira.junit.mockup.TesterObjects.AbstractAB;
+import net.ranides.assira.junit.mockup.TesterObjects.ObjectA;
+import net.ranides.assira.junit.mockup.TesterObjects.ObjectABC;
+import net.ranides.assira.junit.mockup.Testers;
+
 import java.io.ByteArrayOutputStream;
 import java.io.FilterOutputStream;
 import java.io.IOException;
@@ -18,13 +26,9 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.TreeMap;
 import java.util.regex.Pattern;
-import net.ranides.assira.junit.mockup.TesterObjects;
-import net.ranides.assira.junit.mockup.TesterObjects.*;
-import net.ranides.assira.junit.mockup.Testers;
 
-import org.junit.Ignore;
-import org.junit.Test;
-import static net.ranides.assira.junit.NewAssert.*;
+import static net.ranides.assira.junit.NewAssert.assertEquals;
+import static net.ranides.assira.junit.NewAssert.assertThrows;
 
 /**
  *
@@ -101,14 +105,6 @@ public class TestContractRunnerTest {
         assertEquals(EXPECTED, TesterObjects.OUT);
     }
 
-    @Ignore("?")
-    @Test
-    public void testInvalid() {
-        assertThrows(AssertionError.class, () ->
-            new TestContractRunner(System.err).append(new Testers.Invalid())
-        );
-    }
-    
     @Test
     public void testCorrect() {
         TestContractRunner suite = new TestContractRunner(System.err)

+ 0 - 16
assira.junit/src/test/java/net/ranides/assira/junit/mockup/Testers.java

@@ -82,23 +82,7 @@ public class Testers {
         }
 
     }
-    
-    public static class Invalid {
 
-        @TestContract
-        public void run(IntA object) {
-            object.findFirst();
-            object.findAll();
-        }
-        
-        @TestContract
-        public void other(IntA object, int params) {
-            object.findFirst();
-            object.findAll();
-        }
-
-    }
-    
     public static class Correct {
 
         @TestContract