Browse Source

fix comparators

Ranides Atterwim 11 months ago
parent
commit
0a3de47e29

+ 2 - 2
assira.core/src/main/java/net/ranides/assira/generic/CompareUtils.java

@@ -31,7 +31,7 @@ import org.jetbrains.annotations.Nullable;
 public class CompareUtils {
 
     @SuppressWarnings({"rawtypes", "unchecked"})
-    private static final CompareFunction NATURAL_COMPARATOR = CompareFunction.of((Comparable a, Comparable b) -> {
+    private static final CompareFunction NATURAL_COMPARATOR = (CompareFunction<Comparable>)(a, b) -> {
         if (a.getClass().isInstance(b)) {
             return a.compareTo(b);
         }
@@ -39,7 +39,7 @@ public class CompareUtils {
             return -b.compareTo(a);
         }
         throw new ClassCastException("Values are not Comparable: " + a + " or " + b);
-    });
+    };
 
     /**
      * Compares passed arguments usig Object#equals method.

+ 4 - 4
assira.core/src/test/java/net/ranides/assira/generic/CompareUtilsTest.java

@@ -81,15 +81,15 @@ public class CompareUtilsTest {
 	public void testMin() {
 		assertEquals(Integer.valueOf(1), CompareUtils.min(1, 3));
 		assertEquals(Integer.valueOf(3), CompareUtils.min(4, 3));
-		assertEquals(null, CompareUtils.min(null, 7));
-		assertEquals(null, CompareUtils.min(7, null));
+		assertEquals(Integer.valueOf(7), CompareUtils.min(null, 7));
+		assertEquals(Integer.valueOf(7), CompareUtils.min(7, null));
 	}
 
 	@Test
 	public void testMinCmp() {
 		assertEquals(Integer.valueOf(1), CompareUtils.min(Integer::compareTo, 1, 3));
 		assertEquals(Integer.valueOf(3), CompareUtils.min(Integer::compareTo, 4, 3));
-		assertEquals(null, CompareUtils.min(Integer::compareTo, null, 7));
-		assertEquals(null, CompareUtils.min(Integer::compareTo, 7, null));
+		assertEquals(Integer.valueOf(7), CompareUtils.min(Integer::compareTo, null, 7));
+		assertEquals(Integer.valueOf(7), CompareUtils.min(Integer::compareTo, 7, null));
 	}
 }