Explorar el Código

junit: date comparisons

Ranides Atterwim hace 10 años
padre
commit
b6d818c690

+ 16 - 0
assira.junit/src/main/java/net/ranides/assira/junit/NewAssert.java

@@ -15,13 +15,17 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.time.Duration;
+import java.time.Instant;
 import java.util.Collection;
+import java.util.Date;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Objects;
 import java.util.function.BiPredicate;
 import java.util.function.Predicate;
 
+
 /**
  *
  * @author Ranides Atterwim <ranides@gmail.com>
@@ -217,6 +221,18 @@ public final class NewAssert extends org.junit.Assert {
         assertTrue(message, a.containsAll(b));
         assertTrue(message, b.containsAll(a));
 	}
+    
+    public static void assertEquals(Instant a, Instant b, Duration dt) {
+        assertTrue(a + " and " + b + " are not equal", Duration.between(a, b).abs().compareTo(dt.abs()) <= 0);
+    }
+    
+    public static void assertEquals(Date a, Date b, Duration dt) {
+        assertTrue(a + " and " + b + " are not equal", Math.abs(a.getTime() - b.getTime()) <= dt.toMillis());
+    }
+    
+    public static void assertEquals(Date a, Date b, long dt) {
+        assertTrue(a + " and " + b + " are not equal", Math.abs(a.getTime() - b.getTime()) <= dt);
+    }
 
     public interface Action {