Skip to content

Commit

Permalink
Reduce duplication in Assertions
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrannen committed Dec 19, 2015
1 parent b8d9229 commit 34e216f
Showing 1 changed file with 32 additions and 59 deletions.
91 changes: 32 additions & 59 deletions junit5-api/src/main/java/org/junit/gen5/api/Assertions.java
Expand Up @@ -36,29 +36,23 @@ public static void fail(Supplier<String> messageSupplier) {
} }


public static void assertTrue(boolean condition) { public static void assertTrue(boolean condition) {
assertTrue(condition, (String) null); assertTrue(() -> condition, () -> null);
}

public static void assertTrue(boolean condition, String message) {
if (!condition) {
fail(message);
}
} }


public static void assertTrue(boolean condition, Supplier<String> messageSupplier) { public static void assertTrue(boolean condition, Supplier<String> messageSupplier) {
if (!condition) { assertTrue(() -> condition, messageSupplier);
fail(messageSupplier);
}
} }


public static void assertTrue(BooleanSupplier booleanSupplier) { public static void assertTrue(BooleanSupplier booleanSupplier) {
assertTrue(booleanSupplier.getAsBoolean(), (String) null); assertTrue(booleanSupplier, () -> null);
} }


public static void assertTrue(BooleanSupplier booleanSupplier, String message) { public static void assertTrue(BooleanSupplier booleanSupplier, String message) {
if (!booleanSupplier.getAsBoolean()) { assertTrue(booleanSupplier, () -> message);
fail(message); }
}
public static void assertTrue(boolean condition, String message) {
assertTrue(() -> condition, () -> message);
} }


public static void assertTrue(BooleanSupplier booleanSupplier, Supplier<String> messageSupplier) { public static void assertTrue(BooleanSupplier booleanSupplier, Supplier<String> messageSupplier) {
Expand All @@ -68,29 +62,23 @@ public static void assertTrue(BooleanSupplier booleanSupplier, Supplier<String>
} }


public static void assertFalse(boolean condition) { public static void assertFalse(boolean condition) {
assertFalse(condition, (String) null); assertFalse(() -> condition, () -> null);
} }


public static void assertFalse(boolean condition, String message) { public static void assertFalse(boolean condition, String message) {
if (condition) { assertFalse(() -> condition, () -> message);
fail(message);
}
} }


public static void assertFalse(boolean condition, Supplier<String> messageSupplier) { public static void assertFalse(boolean condition, Supplier<String> messageSupplier) {
if (condition) { assertFalse(() -> condition, messageSupplier);
fail(messageSupplier);
}
} }


public static void assertFalse(BooleanSupplier booleanSupplier) { public static void assertFalse(BooleanSupplier booleanSupplier) {
assertFalse(booleanSupplier.getAsBoolean(), (String) null); assertFalse(booleanSupplier, () -> null);
} }


public static void assertFalse(BooleanSupplier booleanSupplier, String message) { public static void assertFalse(BooleanSupplier booleanSupplier, String message) {
if (booleanSupplier.getAsBoolean()) { assertFalse(booleanSupplier, () -> message);
fail(message);
}
} }


public static void assertFalse(BooleanSupplier booleanSupplier, Supplier<String> messageSupplier) { public static void assertFalse(BooleanSupplier booleanSupplier, Supplier<String> messageSupplier) {
Expand All @@ -100,13 +88,11 @@ public static void assertFalse(BooleanSupplier booleanSupplier, Supplier<String>
} }


public static void assertNull(Object actual) { public static void assertNull(Object actual) {
assertNull(actual, (String) null); assertNull(actual, () -> null);
} }


public static void assertNull(Object actual, String message) { public static void assertNull(Object actual, String message) {
if (actual != null) { assertNull(actual, () -> message);
failNotNull(actual, message);
}
} }


public static void assertNull(Object actual, Supplier<String> messageSupplier) { public static void assertNull(Object actual, Supplier<String> messageSupplier) {
Expand All @@ -116,13 +102,11 @@ public static void assertNull(Object actual, Supplier<String> messageSupplier) {
} }


public static void assertNotNull(Object actual) { public static void assertNotNull(Object actual) {
assertNotNull(actual, (String) null); assertNotNull(actual, () -> null);
} }


public static void assertNotNull(Object actual, String message) { public static void assertNotNull(Object actual, String message) {
if (actual == null) { assertNotNull(actual, () -> message);
failNull(message);
}
} }


public static void assertNotNull(Object actual, Supplier<String> messageSupplier) { public static void assertNotNull(Object actual, Supplier<String> messageSupplier) {
Expand All @@ -132,13 +116,11 @@ public static void assertNotNull(Object actual, Supplier<String> messageSupplier
} }


public static void assertEquals(Object expected, Object actual) { public static void assertEquals(Object expected, Object actual) {
assertEquals(expected, actual, (String) null); assertEquals(expected, actual, () -> null);
} }


public static void assertEquals(Object expected, Object actual, String message) { public static void assertEquals(Object expected, Object actual, String message) {
if (!Objects.equals(expected, actual)) { assertEquals(expected, actual, () -> message);
failNotEqual(expected, actual, message);
}
} }


public static void assertEquals(Object expected, Object actual, Supplier<String> messageSupplier) { public static void assertEquals(Object expected, Object actual, Supplier<String> messageSupplier) {
Expand All @@ -148,13 +130,11 @@ public static void assertEquals(Object expected, Object actual, Supplier<String>
} }


public static void assertNotEquals(Object unexpected, Object actual) { public static void assertNotEquals(Object unexpected, Object actual) {
assertNotEquals(unexpected, actual, (String) null); assertNotEquals(unexpected, actual, () -> null);
} }


public static void assertNotEquals(Object unexpected, Object actual, String message) { public static void assertNotEquals(Object unexpected, Object actual, String message) {
if (Objects.equals(unexpected, actual)) { assertNotEquals(unexpected, actual, () -> message);
failEqual(actual, message);
}
} }


public static void assertNotEquals(Object unexpected, Object actual, Supplier<String> messageSupplier) { public static void assertNotEquals(Object unexpected, Object actual, Supplier<String> messageSupplier) {
Expand All @@ -164,13 +144,11 @@ public static void assertNotEquals(Object unexpected, Object actual, Supplier<St
} }


public static void assertSame(Object expected, Object actual) { public static void assertSame(Object expected, Object actual) {
assertSame(expected, actual, (String) null); assertSame(expected, actual, () -> null);
} }


public static void assertSame(Object expected, Object actual, String message) { public static void assertSame(Object expected, Object actual, String message) {
if (expected != actual) { assertSame(expected, actual, () -> message);
failNotSame(expected, actual, message);
}
} }


public static void assertSame(Object expected, Object actual, Supplier<String> messageSupplier) { public static void assertSame(Object expected, Object actual, Supplier<String> messageSupplier) {
Expand All @@ -180,13 +158,11 @@ public static void assertSame(Object expected, Object actual, Supplier<String> m
} }


public static void assertNotSame(Object unexpected, Object actual) { public static void assertNotSame(Object unexpected, Object actual) {
assertNotSame(unexpected, actual, (String) null); assertNotSame(unexpected, actual, () -> null);
} }


public static void assertNotSame(Object unexpected, Object actual, String message) { public static void assertNotSame(Object unexpected, Object actual, String message) {
if (unexpected == actual) { assertNotSame(unexpected, actual, () -> message);
failSame(message);
}
} }


public static void assertNotSame(Object unexpected, Object actual, Supplier<String> messageSupplier) { public static void assertNotSame(Object unexpected, Object actual, Supplier<String> messageSupplier) {
Expand All @@ -205,8 +181,8 @@ public static void assertAll(String heading, Executable... asserts) {
try { try {
executable.execute(); executable.execute();
} }
catch (AssertionError failure) { catch (AssertionError assertionError) {
multipleFailuresError.addFailure(failure); multipleFailuresError.addFailure(assertionError);
} }
catch (Error | RuntimeException ex) { catch (Error | RuntimeException ex) {
throw ex; throw ex;
Expand Down Expand Up @@ -244,19 +220,16 @@ public static <T extends Throwable> T expectThrows(Class<T> expected, Executable
} }


private static void failEqual(Object actual, String message) { private static void failEqual(Object actual, String message) {
String prefix = "Values should be different. "; String prefix = buildPrefix(message);
if (StringUtils.isNotEmpty(message)) { fail(prefix + "Values should not be equal. Actual: " + actual);
prefix = message + ". ";
}
fail(prefix + "Actual: " + actual);
} }


private static void failNull(String message) { private static void failNull(String message) {
fail(buildPrefix(message) + "expected not null"); fail(buildPrefix(message) + "expected not <null>");
} }


private static void failNotNull(Object actual, String message) { private static void failNotNull(Object actual, String message) {
fail(buildPrefix(message) + "expected null, but was:<" + actual + ">"); fail(buildPrefix(message) + "expected <null> but was:<" + actual + ">");
} }


private static void failSame(String message) { private static void failSame(String message) {
Expand Down Expand Up @@ -290,7 +263,7 @@ private static String formatClassAndValue(Object value, String valueString) {
} }


private static String buildPrefix(String message) { private static String buildPrefix(String message) {
return (StringUtils.isNotEmpty(message) ? message + " ==> " : ""); return (StringUtils.isNotBlank(message) ? message + " ==> " : "");
} }


private static String nullSafeGet(Supplier<String> messageSupplier) { private static String nullSafeGet(Supplier<String> messageSupplier) {
Expand Down

0 comments on commit 34e216f

Please sign in to comment.