2020/**
2121 * {@code Comparator} comparing objects recursively as in {@link org.assertj.core.api.RecursiveComparisonAssert}.
2222 * <p>
23- * This comparator does not enforce any ordering, it just returns zero if
24- * the compared objects are equals according the recursive comparison,
25- * or a non-zero value otherwise.
26- * <p>
27- * This comparator honors the {@link RecursiveComparisonConfiguration} passed at construction time.
23+ * This comparator does not enforce any ordering and returns zero if the compared objects are equals,
24+ * according to the recursive comparison, or a non-zero value otherwise.
2825 *
2926 * @since 3.24.0
3027 */
@@ -34,10 +31,21 @@ public class RecursiveComparator implements Comparator<Object> {
3431 private final RecursiveComparisonDifferenceCalculator recursiveComparisonDifferenceCalculator ;
3532
3633 /**
37- * Returns a new {@code RecursiveComparator} that uses the given {@link RecursiveComparisonConfiguration} when comparing
38- * objects with the recursive comparison.
34+ * Returns a new {@code RecursiveComparator} that uses the default {@link RecursiveComparisonConfiguration}
35+ * when comparing objects with the recursive comparison.
3936 *
40- * @param recursiveComparisonConfiguration the used {@code RecursiveComparisonConfiguration}
37+ * @since 3.25.0
38+ */
39+ public RecursiveComparator () {
40+ this .recursiveComparisonConfiguration = new RecursiveComparisonConfiguration ();
41+ this .recursiveComparisonDifferenceCalculator = new RecursiveComparisonDifferenceCalculator ();
42+ }
43+
44+ /**
45+ * Returns a new {@code RecursiveComparator} that uses the given {@link RecursiveComparisonConfiguration}
46+ * when comparing objects with the recursive comparison.
47+ *
48+ * @param recursiveComparisonConfiguration the {@code RecursiveComparisonConfiguration} instance to be used
4149 */
4250 public RecursiveComparator (RecursiveComparisonConfiguration recursiveComparisonConfiguration ) {
4351 this .recursiveComparisonConfiguration = recursiveComparisonConfiguration ;
@@ -48,6 +56,11 @@ private List<ComparisonDifference> determineDifferencesWith(Object actual, Objec
4856 return recursiveComparisonDifferenceCalculator .determineDifferences (actual , expected , recursiveComparisonConfiguration );
4957 }
5058
59+ public String getDescription () {
60+ return format ("RecursiveComparator a comparator based on the recursive comparison with the following configuration:%n%s" ,
61+ recursiveComparisonConfiguration );
62+ }
63+
5164 /**
5265 * Returns zero if the arguments are recursively equal to each other, or non-zero otherwise (no ordering enforced).
5366 *
@@ -63,9 +76,4 @@ public int compare(Object actual, Object other) {
6376 return -1 ;
6477 }
6578
66- public String getDescription () {
67- return format ("RecursiveComparator a comparator based on the recursive comparison with the following configuration:%n%s" ,
68- recursiveComparisonConfiguration );
69- }
70-
7179}
0 commit comments