Index: unitils/src/main/java/org/unitils/reflectionassert/ReflectionAssert.java =================================================================== --- unitils/src/main/java/org/unitils/reflectionassert/ReflectionAssert.java (revision 1377) +++ unitils/src/main/java/org/unitils/reflectionassert/ReflectionAssert.java (revision ) @@ -124,6 +124,23 @@ */ public static void assertReflectionEquals(String message, Object expected, Object actual, ReflectionComparatorMode... modes) throws AssertionFailedError { ReflectionComparator reflectionComparator = createRefectionComparator(modes); + assertReflectionEquals(message, expected, actual, reflectionComparator); + } + + + /** + * Asserts that two objects are equal. Reflection is used to compare all fields of these values. + * If they are not equal an AssertionFailedError is thrown. + *
+ * The custom comparator can be created using custom comparator chain or provide additional features e.g. cache management. + * + * @param message a message for when the assertion fails + * @param expected the expected object + * @param actual the given object + * @param reflectionComparator the custom comparator + * @throws AssertionFailedError when both objects are not equals + */ + public static void assertReflectionEquals(String message, Object expected, Object actual, ReflectionComparator reflectionComparator) throws AssertionFailedError { Difference difference = reflectionComparator.getDifference(expected, actual); if (difference != null) { Assert.fail(getFailureMessage(message, difference));