Explorar o código

#assertSymEquals - checks hash values

Ranides Atterwim %!s(int64=10) %!d(string=hai) anos
pai
achega
dd2548606a

+ 13 - 11
assira.junit/src/main/java/net/ranides/assira/junit/NewAssert.java

@@ -15,10 +15,9 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
-import java.util.Set;
+import java.util.Objects;
 import java.util.function.BiPredicate;
 import java.util.function.Predicate;
 
@@ -145,18 +144,20 @@ public final class NewAssert extends org.junit.Assert {
     }
 	
 	public static void assertSymEquals(Object value1, Object value2) {
-		assertEquals(value1,value2);
-        assertEquals(value2,value1);
+        assertEquals(Objects.hashCode(value1), Objects.hashCode(value2));
+		assertEquals(value1, value2);
+        assertEquals(value2, value1);
 	}
     
     public static void assertSymEquals(String message, Object value1, Object value2) {
-        assertTrue(message, value1.equals(value2) );
-        assertTrue(message, value2.equals(value1) );
+        assertEquals(message, Objects.hashCode(value1), Objects.hashCode(value2));
+        assertEquals(message, value1, value2);
+        assertEquals(message, value2, value1);
     }
     
     private static void assertSymNotEquals(String message, Object value1, Object value2) {
-        assertFalse(message, value1.equals(value2) );
-        assertFalse(message, value2.equals(value1) );
+        assertNotEquals(message, value1, value2);
+        assertNotEquals(message, value2, value1);
     }
     
     public static <A,B> void assertMatch(Collection<A> expected, Collection<B> values, BiPredicate<A,B> predicate) {
@@ -202,9 +203,10 @@ public final class NewAssert extends org.junit.Assert {
     }
     
     public static <T> void assertEquivalent(Collection<T> a, Collection<T> b) {
-        assertTrue(a.size()==b.size());
-        assertTrue(a.containsAll(b));
-        assertTrue(b.containsAll(a));
+        String message = a + " not equivalent to " + b;
+        assertTrue(message, a.size()==b.size());
+        assertTrue(message, a.containsAll(b));
+        assertTrue(message, b.containsAll(a));
 	}
     
     public interface Action {