Skip to content

Commit 1279807

Browse files
fl0rian-pVanRoy
authored andcommitted
Use Values#areEqual when looking for modified columns
1 parent 6c7c9b9 commit 1279807

2 files changed

Lines changed: 22 additions & 9 deletions

File tree

src/main/java/org/assertj/db/util/Changes.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,9 @@ public static Integer[] getIndexesOfModifiedColumns(Change change) {
5151
int index = 0;
5252
for (Value valueAtStartPoint : valuesListAtStartPoint) {
5353
Value valueAtEndPoint = iteratorAtEndPoint.next();
54-
Object objectAtStartPoint = valueAtStartPoint.getValue();
5554
Object objectAtEndPoint = valueAtEndPoint.getValue();
5655

57-
if ((objectAtStartPoint == null && objectAtEndPoint != null) ||
58-
(objectAtStartPoint != null && !objectAtStartPoint.equals(objectAtEndPoint))) {
59-
56+
if (!Values.areEqual(valueAtStartPoint, objectAtEndPoint)) {
6057
indexesList.add(index);
6158
}
6259
index++;

src/test/java/org/assertj/db/util/Changes_GetIndexesOfModifiedColumns_Test.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,31 @@ public void test_get_indexes_of_modified_columns() throws Exception {
4343

4444
Change modificationChange = getChange(DataType.TABLE, "test", ChangeType.MODIFICATION,
4545
getRow(Arrays.asList("var1"),
46-
Arrays.asList("var1", "var2", "var3", "var4"),
46+
Arrays.asList("var1", "var2", "var3", "var4", "var11"),
4747
Arrays.asList(getValue("var1", 1),
4848
getValue("var2", null),
4949
getValue("var3", "text1"),
50-
getValue("var4", null))),
50+
getValue("var4", null),
51+
getValue("var11", "bytes".getBytes()))),
5152
getRow(Arrays.asList("var1"),
52-
Arrays.asList("var1", "var2", "var3", "var4"),
53+
Arrays.asList("var1", "var2", "var3", "var4", "var11"),
5354
Arrays.asList(getValue("var1", 1),
5455
getValue("var2", "test"),
5556
getValue("var3", null),
56-
getValue("var4", null))));
57+
getValue("var4", null),
58+
getValue("var11", "bytes".getBytes()))));
59+
60+
Change modificationWithActualBytesChange = getChange(DataType.TABLE, "test", ChangeType.MODIFICATION,
61+
getRow(Arrays.asList("var1"),
62+
Arrays.asList("var1", "var2", "var11"),
63+
Arrays.asList(getValue("var1", 1),
64+
getValue("var2", "value"),
65+
getValue("var11", "before".getBytes()))),
66+
getRow(Arrays.asList("var1"),
67+
Arrays.asList("var1", "var2", "var11"),
68+
Arrays.asList(getValue("var1", 1),
69+
getValue("var2", "value"),
70+
getValue("var11", "after".getBytes()))));
5771

5872
Change deletionChange = getChange(DataType.TABLE, "test", ChangeType.DELETION,
5973
getRow(Arrays.asList("var1"),
@@ -65,10 +79,12 @@ public void test_get_indexes_of_modified_columns() throws Exception {
6579

6680
Integer[] creationIndexes = Changes.getIndexesOfModifiedColumns(creationChange);
6781
Integer[] modificationIndexes = Changes.getIndexesOfModifiedColumns(modificationChange);
82+
Integer[] modificationWithActualBytesIndexes = Changes.getIndexesOfModifiedColumns(modificationWithActualBytesChange);
6883
Integer[] deletionIndexes = Changes.getIndexesOfModifiedColumns(deletionChange);
6984

7085
Assertions.assertThat(creationIndexes).contains(0, 1);
71-
Assertions.assertThat(modificationIndexes).contains(1, 2);
86+
Assertions.assertThat(modificationIndexes).containsOnly(1, 2);
87+
Assertions.assertThat(modificationWithActualBytesIndexes).containsOnly(2);
7288
Assertions.assertThat(deletionIndexes).contains(0, 1);
7389
}
7490
}

0 commit comments

Comments
 (0)