### Question:
DataCompareUtils { public static Result<Boolean> isRowsEquals(TableMeta tableMetaData, List<Row> oldRows, List<Row> newRows) { if (!CollectionUtils.isSizeEquals(oldRows, newRows)) { return Result.build(false, null); } return compareRows(tableMetaData, oldRows, newRows); } private  DataCompareUtils(); static Result<Boolean> isFieldEquals(Field f0, Field f1); static Result<Boolean> isRecordsEquals(TableRecords beforeImage, TableRecords afterImage); static Result<Boolean> isRowsEquals(TableMeta tableMetaData, List<Row> oldRows, List<Row> newRows); static Map<String, Map<String, Field>> rowListToMap(List<Row> rowList, List<String> primaryKeyList);  }### Answer:
@Test public void isRowsEquals() { TableMeta tableMeta = Mockito.mock(TableMeta.class); Mockito.when(tableMeta.getPrimaryKeyOnlyName()).thenReturn(Arrays.asList(new String[]{"pk"})); Mockito.when(tableMeta.getTableName()).thenReturn("table_name"); List<Row> rows = new ArrayList<>(); Field field = new Field("pk", 1, "12345"); Row row = new Row(); row.add(field); rows.add(row); Assertions.assertFalse(DataCompareUtils.isRowsEquals(tableMeta, rows, null).getResult()); Assertions.assertFalse(DataCompareUtils.isRowsEquals(tableMeta, null, rows).getResult()); List<Row> rows2 = new ArrayList<>(); Field field2 = new Field("pk", 1, "12345"); Row row2 = new Row(); row2.add(field2); rows2.add(row2); Assertions.assertTrue(DataCompareUtils.isRowsEquals(tableMeta, rows, rows2).getResult()); field.setValue("23456"); Assertions.assertFalse(DataCompareUtils.isRowsEquals(tableMeta, rows, rows2).getResult()); field.setValue("12345"); Field field3 = new Field("pk", 1, "12346"); Row row3 = new Row(); row3.add(field3); rows2.add(row3); Assertions.assertFalse(DataCompareUtils.isRowsEquals(tableMeta, rows, rows2).getResult()); }