62 lines
1.7 KiB
Java
62 lines
1.7 KiB
Java
package org.lucares.utils;
|
|
|
|
import java.text.MessageFormat;
|
|
import java.util.Objects;
|
|
|
|
public class Preconditions {
|
|
public static void checkEven(final long value, final String message) {
|
|
if (value % 2 != 0) {
|
|
throw new IllegalStateException(message + ". Was: " + value);
|
|
}
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param a
|
|
* @param b
|
|
* @param message formatted with {@link MessageFormat}
|
|
* @param args
|
|
*/
|
|
public static void checkGreater(final long a, final long b, final String message, final Object... args) {
|
|
|
|
if (a <= b) {
|
|
throw new IllegalStateException(MessageFormat.format(message, args) + " Expected: " + a + " > " + b);
|
|
}
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param a
|
|
* @param b
|
|
* @param message formatted with {@link MessageFormat}
|
|
* @param args
|
|
*/
|
|
public static void checkGreaterOrEqual(final long a, final long b, final String message, final Object... args) {
|
|
if (a < b) {
|
|
throw new IllegalStateException(MessageFormat.format(message, args) + " Expected: " + a + " >= " + b);
|
|
}
|
|
}
|
|
|
|
public static void checkEqual(final Object actual, final Object expected) {
|
|
checkEqual(actual, expected, "expected {0} is equal to {1}", actual, expected);
|
|
}
|
|
|
|
/**
|
|
* Check that the given values are equal. The check is done with
|
|
* {@link Objects#equals(Object, Object)}
|
|
*
|
|
* @param actual the actual value
|
|
* @param expected the expected value
|
|
* @param message formatted with {@link MessageFormat}
|
|
* @param args arguments for the message
|
|
*/
|
|
public static void checkEqual(final Object actual, final Object expected, final String message,
|
|
final Object... args) {
|
|
if (!Objects.equals(actual, expected)) {
|
|
throw new IllegalStateException(
|
|
MessageFormat.format(message, args) + " Expected: " + actual + " equals " + expected);
|
|
}
|
|
}
|
|
|
|
}
|