From 0abfa791934a846a563ee6d4e89eb5e3f92f63de Mon Sep 17 00:00:00 2001
From: Gary Gregory
Date: Fri, 6 Sep 2019 10:32:41 -0400
Subject: [PATCH] [LANG-1486] Generify builder classes Diffable, DiffBuilder,
and DiffResult
[LANG-1486] Generify builder classes Diffable, DiffBuilder, and DiffResult #452.
---
src/changes/changes.xml | 1 +
.../commons/lang3/builder/DiffBuilder.java | 57 +++++++--------
.../commons/lang3/builder/DiffResult.java | 13 ++--
.../commons/lang3/builder/Diffable.java | 2 +-
.../lang3/builder/ReflectionDiffBuilder.java | 14 ++--
.../lang3/builder/DiffBuilderTest.java | 72 +++++++++----------
6 files changed, 81 insertions(+), 78 deletions(-)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 053d23bfe..6768cbef5 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -63,6 +63,7 @@ The type attribute can be add,update,fix,remove.
Added Functions.as*, and tests thereof, as suggested by Peter Verhas
StringUtils.unwrap incorrect throw StringIndexOutOfBoundsException.
Add getters for lhs and rhs objects in DiffResult #451.
+ Generify builder classes Diffable, DiffBuilder, and DiffResult #452.
diff --git a/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java b/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java
index 20fc1503c..6beeaf7b6 100644
--- a/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java
+++ b/src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java
@@ -58,18 +58,19 @@
* calling {@link DiffResult#toString(ToStringStyle)}.
*
*
- * @since 3.3
+ * @param type of the left and right object.
* @see Diffable
* @see Diff
* @see DiffResult
* @see ToStringStyle
+ * @since 3.3
*/
-public class DiffBuilder implements Builder {
+public class DiffBuilder implements Builder> {
private final List> diffs;
private final boolean objectsTriviallyEqual;
- private final Object left;
- private final Object right;
+ private final T left;
+ private final T right;
private final ToStringStyle style;
/**
@@ -100,7 +101,7 @@ public class DiffBuilder implements Builder {
* if {@code lhs} or {@code rhs} is {@code null}
* @since 3.4
*/
- public DiffBuilder(final Object lhs, final Object rhs,
+ public DiffBuilder(final T lhs, final T rhs,
final ToStringStyle style, final boolean testTriviallyEqual) {
Validate.isTrue(lhs != null, "lhs cannot be null");
@@ -141,7 +142,7 @@ public DiffBuilder(final Object lhs, final Object rhs,
* @throws IllegalArgumentException
* if {@code lhs} or {@code rhs} is {@code null}
*/
- public DiffBuilder(final Object lhs, final Object rhs,
+ public DiffBuilder(final T lhs, final T rhs,
final ToStringStyle style) {
this(lhs, rhs, style, true);
@@ -162,7 +163,7 @@ public DiffBuilder(final Object lhs, final Object rhs,
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final boolean lhs,
+ public DiffBuilder append(final String fieldName, final boolean lhs,
final boolean rhs) {
validateFieldNameNotNull(fieldName);
@@ -202,7 +203,7 @@ public Boolean getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final boolean[] lhs,
+ public DiffBuilder append(final String fieldName, final boolean[] lhs,
final boolean[] rhs) {
validateFieldNameNotNull(fieldName);
if (objectsTriviallyEqual) {
@@ -241,7 +242,7 @@ public Boolean[] getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final byte lhs,
+ public DiffBuilder append(final String fieldName, final byte lhs,
final byte rhs) {
validateFieldNameNotNull(fieldName);
if (objectsTriviallyEqual) {
@@ -280,7 +281,7 @@ public Byte getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final byte[] lhs,
+ public DiffBuilder append(final String fieldName, final byte[] lhs,
final byte[] rhs) {
validateFieldNameNotNull(fieldName);
@@ -320,7 +321,7 @@ public Byte[] getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final char lhs,
+ public DiffBuilder append(final String fieldName, final char lhs,
final char rhs) {
validateFieldNameNotNull(fieldName);
@@ -360,7 +361,7 @@ public Character getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final char[] lhs,
+ public DiffBuilder append(final String fieldName, final char[] lhs,
final char[] rhs) {
validateFieldNameNotNull(fieldName);
@@ -400,7 +401,7 @@ public Character[] getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final double lhs,
+ public DiffBuilder append(final String fieldName, final double lhs,
final double rhs) {
validateFieldNameNotNull(fieldName);
@@ -440,7 +441,7 @@ public Double getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final double[] lhs,
+ public DiffBuilder append(final String fieldName, final double[] lhs,
final double[] rhs) {
validateFieldNameNotNull(fieldName);
@@ -480,7 +481,7 @@ public Double[] getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final float lhs,
+ public DiffBuilder append(final String fieldName, final float lhs,
final float rhs) {
validateFieldNameNotNull(fieldName);
@@ -520,7 +521,7 @@ public Float getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final float[] lhs,
+ public DiffBuilder append(final String fieldName, final float[] lhs,
final float[] rhs) {
validateFieldNameNotNull(fieldName);
@@ -560,7 +561,7 @@ public Float[] getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final int lhs,
+ public DiffBuilder append(final String fieldName, final int lhs,
final int rhs) {
validateFieldNameNotNull(fieldName);
@@ -600,7 +601,7 @@ public Integer getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final int[] lhs,
+ public DiffBuilder append(final String fieldName, final int[] lhs,
final int[] rhs) {
validateFieldNameNotNull(fieldName);
@@ -640,7 +641,7 @@ public Integer[] getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final long lhs,
+ public DiffBuilder append(final String fieldName, final long lhs,
final long rhs) {
validateFieldNameNotNull(fieldName);
@@ -680,7 +681,7 @@ public Long getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final long[] lhs,
+ public DiffBuilder append(final String fieldName, final long[] lhs,
final long[] rhs) {
validateFieldNameNotNull(fieldName);
@@ -720,7 +721,7 @@ public Long[] getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final short lhs,
+ public DiffBuilder append(final String fieldName, final short lhs,
final short rhs) {
validateFieldNameNotNull(fieldName);
@@ -760,7 +761,7 @@ public Short getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final short[] lhs,
+ public DiffBuilder append(final String fieldName, final short[] lhs,
final short[] rhs) {
validateFieldNameNotNull(fieldName);
@@ -800,7 +801,7 @@ public Short[] getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final Object lhs,
+ public DiffBuilder append(final String fieldName, final Object lhs,
final Object rhs) {
validateFieldNameNotNull(fieldName);
if (objectsTriviallyEqual) {
@@ -884,7 +885,7 @@ public Object getRight() {
* @throws IllegalArgumentException
* if field name is {@code null}
*/
- public DiffBuilder append(final String fieldName, final Object[] lhs,
+ public DiffBuilder append(final String fieldName, final Object[] lhs,
final Object[] rhs) {
validateFieldNameNotNull(fieldName);
if (objectsTriviallyEqual) {
@@ -946,8 +947,8 @@ public Object[] getRight() {
* if field name is {@code null}
* @since 3.5
*/
- public DiffBuilder append(final String fieldName,
- final DiffResult diffResult) {
+ public DiffBuilder append(final String fieldName,
+ final DiffResult diffResult) {
validateFieldNameNotNull(fieldName);
Validate.isTrue(diffResult != null, "Diff result cannot be null");
if (objectsTriviallyEqual) {
@@ -972,8 +973,8 @@ public DiffBuilder append(final String fieldName,
* objects.
*/
@Override
- public DiffResult build() {
- return new DiffResult(left, right, diffs, style);
+ public DiffResult build() {
+ return new DiffResult<>(left, right, diffs, style);
}
private void validateFieldNameNotNull(final String fieldName) {
diff --git a/src/main/java/org/apache/commons/lang3/builder/DiffResult.java b/src/main/java/org/apache/commons/lang3/builder/DiffResult.java
index bb1ceeca2..8132dd4f0 100644
--- a/src/main/java/org/apache/commons/lang3/builder/DiffResult.java
+++ b/src/main/java/org/apache/commons/lang3/builder/DiffResult.java
@@ -32,10 +32,11 @@
*
* Use a {@link DiffBuilder} to build a {@code DiffResult} comparing two objects.
*
+ * @param type of the left and right object.
*
* @since 3.3
*/
-public class DiffResult implements Iterable> {
+public class DiffResult implements Iterable> {
/**
*
@@ -48,8 +49,8 @@ public class DiffResult implements Iterable> {
private static final String DIFFERS_STRING = "differs from";
private final List> diffs;
- private final Object lhs;
- private final Object rhs;
+ private final T lhs;
+ private final T rhs;
private final ToStringStyle style;
/**
@@ -71,7 +72,7 @@ public class DiffResult implements Iterable> {
* @throws IllegalArgumentException
* if {@code lhs}, {@code rhs} or {@code diffs} is {@code null}
*/
- DiffResult(final Object lhs, final Object rhs, final List> diffs,
+ DiffResult(final T lhs, final T rhs, final List> diffs,
final ToStringStyle style) {
Validate.isTrue(lhs != null, "Left hand object cannot be null");
Validate.isTrue(rhs != null, "Right hand object cannot be null");
@@ -94,7 +95,7 @@ public class DiffResult implements Iterable> {
* @return the left object of the diff
* @since 3.10
*/
- public Object getLeft() {
+ public T getLeft() {
return this.lhs;
}
@@ -104,7 +105,7 @@ public Object getLeft() {
* @return the right object of the diff
* @since 3.10
*/
- public Object getRight() {
+ public T getRight() {
return this.rhs;
}
diff --git a/src/main/java/org/apache/commons/lang3/builder/Diffable.java b/src/main/java/org/apache/commons/lang3/builder/Diffable.java
index 4d435ab1c..1cb7982ad 100644
--- a/src/main/java/org/apache/commons/lang3/builder/Diffable.java
+++ b/src/main/java/org/apache/commons/lang3/builder/Diffable.java
@@ -49,5 +49,5 @@ public interface Diffable {
* @return a list of differences
* @throws NullPointerException if the specified object is {@code null}
*/
- DiffResult diff(T obj);
+ DiffResult diff(T obj);
}
diff --git a/src/main/java/org/apache/commons/lang3/builder/ReflectionDiffBuilder.java b/src/main/java/org/apache/commons/lang3/builder/ReflectionDiffBuilder.java
index baca52043..5b60bd813 100644
--- a/src/main/java/org/apache/commons/lang3/builder/ReflectionDiffBuilder.java
+++ b/src/main/java/org/apache/commons/lang3/builder/ReflectionDiffBuilder.java
@@ -59,17 +59,19 @@
* {@code DiffResult.toString()} method. This style choice can be overridden by
* calling {@link DiffResult#toString(ToStringStyle)}.
*
+ * @param
+ * type of the left and right object to diff.
* @see Diffable
* @see Diff
* @see DiffResult
* @see ToStringStyle
* @since 3.6
*/
-public class ReflectionDiffBuilder implements Builder {
+public class ReflectionDiffBuilder implements Builder> {
private final Object left;
private final Object right;
- private final DiffBuilder diffBuilder;
+ private final DiffBuilder diffBuilder;
/**
*
@@ -81,8 +83,6 @@ public class ReflectionDiffBuilder implements Builder {
* not evaluate any calls to {@code append(...)} and will return an empty
* {@link DiffResult} when {@link #build()} is executed.
*
- * @param
- * type of the objects to diff
* @param lhs
* {@code this} object
* @param rhs
@@ -93,14 +93,14 @@ public class ReflectionDiffBuilder implements Builder {
* @throws IllegalArgumentException
* if {@code lhs} or {@code rhs} is {@code null}
*/
- public ReflectionDiffBuilder(final T lhs, final T rhs, final ToStringStyle style) {
+ public ReflectionDiffBuilder(final T lhs, final T rhs, final ToStringStyle style) {
this.left = lhs;
this.right = rhs;
- diffBuilder = new DiffBuilder(lhs, rhs, style);
+ diffBuilder = new DiffBuilder<>(lhs, rhs, style);
}
@Override
- public DiffResult build() {
+ public DiffResult build() {
if (left.equals(right)) {
return diffBuilder.build();
}
diff --git a/src/test/java/org/apache/commons/lang3/builder/DiffBuilderTest.java b/src/test/java/org/apache/commons/lang3/builder/DiffBuilderTest.java
index 6fd77825d..aebd3ee42 100644
--- a/src/test/java/org/apache/commons/lang3/builder/DiffBuilderTest.java
+++ b/src/test/java/org/apache/commons/lang3/builder/DiffBuilderTest.java
@@ -59,8 +59,8 @@ private static class TypeTestClass implements Diffable {
private Object[] objectArrayField = {null};
@Override
- public DiffResult diff(final TypeTestClass obj) {
- return new DiffBuilder(this, obj, style)
+ public DiffResult diff(final TypeTestClass obj) {
+ return new DiffBuilder<>(this, obj, style)
.append("boolean", booleanField, obj.booleanField)
.append("booleanArray", booleanArrayField, obj.booleanArrayField)
.append("byte", byteField, obj.byteField)
@@ -99,7 +99,7 @@ public void testBoolean() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.booleanField = false;
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertEquals(Boolean.class, diff.getType());
@@ -112,7 +112,7 @@ public void testBooleanArray() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.booleanArrayField = new boolean[] {false, false};
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertArrayEquals(ArrayUtils.toObject(class1.booleanArrayField),
@@ -127,7 +127,7 @@ public void testByte() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.byteField = 0x01;
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertEquals(Byte.valueOf(class1.byteField), diff.getLeft());
@@ -139,7 +139,7 @@ public void testByteArray() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.byteArrayField= new byte[] {0x01, 0x02};
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertArrayEquals(ArrayUtils.toObject(class1.byteArrayField),
@@ -153,7 +153,7 @@ public void testChar() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.charField = 'z';
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertEquals(Character.valueOf(class1.charField), diff.getLeft());
@@ -166,7 +166,7 @@ public void testCharArray() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.charArrayField = new char[] {'f', 'o', 'o'};
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertArrayEquals(ArrayUtils.toObject(class1.charArrayField),
@@ -181,7 +181,7 @@ public void testDouble() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.doubleField = 99.99;
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertEquals(Double.valueOf(class1.doubleField), diff.getLeft());
@@ -194,7 +194,7 @@ public void testDoubleArray() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.doubleArrayField = new double[] {3.0, 2.9, 2.8};
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertArrayEquals(ArrayUtils.toObject(class1.doubleArrayField),
@@ -208,7 +208,7 @@ public void testFloat() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.floatField = 99.99F;
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertEquals(Float.valueOf(class1.floatField), diff.getLeft());
@@ -221,7 +221,7 @@ public void testFloatArray() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.floatArrayField = new float[] {3.0F, 2.9F, 2.8F};
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertArrayEquals(ArrayUtils.toObject(class1.floatArrayField),
@@ -236,7 +236,7 @@ public void testInt() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.intField = 42;
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertEquals(Integer.valueOf(class1.intField), diff.getLeft());
@@ -249,7 +249,7 @@ public void testIntArray() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.intArrayField = new int[] {3, 2, 1};
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertArrayEquals(ArrayUtils.toObject(class1.intArrayField),
@@ -263,7 +263,7 @@ public void testLong() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.longField = 42L;
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertEquals(Long.valueOf(class1.longField), diff.getLeft());
@@ -276,7 +276,7 @@ public void testLongArray() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.longArrayField = new long[] {3L, 2L, 1L};
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertArrayEquals(ArrayUtils.toObject(class1.longArrayField),
@@ -290,7 +290,7 @@ public void testShort() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.shortField = 42;
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertEquals(Short.valueOf(class1.shortField), diff.getLeft());
@@ -303,7 +303,7 @@ public void testShortArray() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.shortArrayField = new short[] {3, 2, 1};
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertArrayEquals(ArrayUtils.toObject(class1.shortArrayField),
@@ -317,7 +317,7 @@ public void testObject() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.objectField = "Some string";
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertEquals(class1.objectField, diff.getLeft());
@@ -337,7 +337,7 @@ public void testObjectsSameAndEqual() {
assertSame(left.objectField, right.objectField);
assertEquals(left.objectField, right.objectField);
- final DiffResult list = left.diff(right);
+ final DiffResult list = left.diff(right);
assertEquals(0, list.getNumberOfDiffs());
}
@@ -353,7 +353,7 @@ public void testObjectsNotSameButEqual() {
assertNotSame(left.objectField, right.objectField);
assertEquals(left.objectField, right.objectField);
- final DiffResult list = left.diff(right);
+ final DiffResult list = left.diff(right);
assertEquals(0, list.getNumberOfDiffs());
}
@@ -369,7 +369,7 @@ public void testObjectsNotSameNorEqual() {
assertNotSame(left.objectField, right.objectField);
assertNotEquals(left.objectField, right.objectField);
- final DiffResult list = left.diff(right);
+ final DiffResult list = left.diff(right);
assertEquals(1, list.getNumberOfDiffs());
}
@@ -378,7 +378,7 @@ public void testObjectArray() {
final TypeTestClass class1 = new TypeTestClass();
final TypeTestClass class2 = new TypeTestClass();
class2.objectArrayField = new Object[] {"string", 1, 2};
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(1, list.getNumberOfDiffs());
final Diff> diff = list.getDiffs().get(0);
assertArrayEquals(class1.objectArrayField, (Object[]) diff.getLeft());
@@ -391,14 +391,14 @@ public void testObjectArrayEqual() {
final TypeTestClass class2 = new TypeTestClass();
class1.objectArrayField = new Object[] {"string", 1, 2};
class2.objectArrayField = new Object[] {"string", 1, 2};
- final DiffResult list = class1.diff(class2);
+ final DiffResult list = class1.diff(class2);
assertEquals(0, list.getNumberOfDiffs());
}
@Test
public void testByteArrayEqualAsObject() {
- final DiffResult list = new DiffBuilder("String1", "String2", SHORT_STYLE)
+ final DiffResult list = new DiffBuilder<>("String1", "String2", SHORT_STYLE)
.append("foo", new boolean[] {false}, new boolean[] {false})
.append("foo", new byte[] {0x01}, new byte[] {0x01})
.append("foo", new char[] {'a'}, new char[] {'a'})
@@ -419,7 +419,7 @@ public void testDiffResult() {
final TypeTestClass class2 = new TypeTestClass();
class2.intField = 2;
- final DiffResult list = new DiffBuilder(class1, class2, SHORT_STYLE)
+ final DiffResult list = new DiffBuilder<>(class1, class2, SHORT_STYLE)
.append("prop1", class1.diff(class2))
.build();
assertEquals(1, list.getNumberOfDiffs());
@@ -428,19 +428,19 @@ public void testDiffResult() {
@Test
public void testNullLhs() {
- assertThrows(IllegalArgumentException.class, () -> new DiffBuilder(null, this, ToStringStyle.DEFAULT_STYLE));
+ assertThrows(IllegalArgumentException.class, () -> new DiffBuilder<>(null, this, ToStringStyle.DEFAULT_STYLE));
}
@Test
public void testNullRhs() {
- assertThrows(IllegalArgumentException.class, () -> new DiffBuilder(this, null, ToStringStyle.DEFAULT_STYLE));
+ assertThrows(IllegalArgumentException.class, () -> new DiffBuilder<>(this, null, ToStringStyle.DEFAULT_STYLE));
}
@Test
public void testSameObjectIgnoresAppends() {
final TypeTestClass testClass = new TypeTestClass();
- final DiffResult list = new DiffBuilder(testClass, testClass, SHORT_STYLE)
+ final DiffResult list = new DiffBuilder<>(testClass, testClass, SHORT_STYLE)
.append("ignored", false, true)
.build();
assertEquals(0, list.getNumberOfDiffs());
@@ -450,7 +450,7 @@ public void testSameObjectIgnoresAppends() {
public void testSimilarObjectIgnoresAppends() {
final TypeTestClass testClass1 = new TypeTestClass();
final TypeTestClass testClass2 = new TypeTestClass();
- final DiffResult list = new DiffBuilder(testClass1, testClass2, SHORT_STYLE)
+ final DiffResult list = new DiffBuilder<>(testClass1, testClass2, SHORT_STYLE)
.append("ignored", false, true)
.build();
assertEquals(0, list.getNumberOfDiffs());
@@ -460,7 +460,7 @@ public void testSimilarObjectIgnoresAppends() {
@Test
public void testStylePassedToDiffResult() {
final TypeTestClass class1 = new TypeTestClass();
- DiffResult list = class1.diff(class1);
+ DiffResult list = class1.diff(class1);
assertEquals(SHORT_STYLE, list.getToStringStyle());
class1.style = ToStringStyle.MULTI_LINE_STYLE;
@@ -473,12 +473,12 @@ public void testTriviallyEqualTestDisabled() {
final Matcher equalToOne = equalTo(1);
// Constructor's arguments are not trivially equal, but not testing for that.
- final DiffBuilder explicitTestAndNotEqual1 = new DiffBuilder(1, 2, null, false);
+ final DiffBuilder explicitTestAndNotEqual1 = new DiffBuilder<>(1, 2, null, false);
explicitTestAndNotEqual1.append("letter", "X", "Y");
assertThat(explicitTestAndNotEqual1.build().getNumberOfDiffs(), equalToOne);
// Constructor's arguments are trivially equal, but not testing for that.
- final DiffBuilder explicitTestAndNotEqual2 = new DiffBuilder(1, 1, null, false);
+ final DiffBuilder explicitTestAndNotEqual2 = new DiffBuilder<>(1, 1, null, false);
// This append(f, l, r) will not abort early.
explicitTestAndNotEqual2.append("letter", "X", "Y");
assertThat(explicitTestAndNotEqual2.build().getNumberOfDiffs(), equalToOne);
@@ -490,19 +490,19 @@ public void testTriviallyEqualTestEnabled() {
final Matcher equalToOne = equalTo(1);
// The option to test if trivially equal is enabled by default.
- final DiffBuilder implicitTestAndEqual = new DiffBuilder(1, 1, null);
+ final DiffBuilder implicitTestAndEqual = new DiffBuilder<>(1, 1, null);
// This append(f, l, r) will abort without creating a Diff for letter.
implicitTestAndEqual.append("letter", "X", "Y");
assertThat(implicitTestAndEqual.build().getNumberOfDiffs(), equalToZero);
- final DiffBuilder implicitTestAndNotEqual = new DiffBuilder(1, 2, null);
+ final DiffBuilder implicitTestAndNotEqual = new DiffBuilder<>(1, 2, null);
// This append(f, l, r) will not abort early
// because the constructor's arguments were not trivially equal.
implicitTestAndNotEqual.append("letter", "X", "Y");
assertThat(implicitTestAndNotEqual.build().getNumberOfDiffs(), equalToOne);
// This is explicitly enabling the trivially equal test.
- final DiffBuilder explicitTestAndEqual = new DiffBuilder(1, 1, null, true);
+ final DiffBuilder explicitTestAndEqual = new DiffBuilder<>(1, 1, null, true);
explicitTestAndEqual.append("letter", "X", "Y");
assertThat(explicitTestAndEqual.build().getNumberOfDiffs(), equalToZero);
}