@Test public void testDemo() { String[][] arrayTableLeft = { {" ", "col1", "col2", "col3"}, {"row1", "m1,1", "m2,1", "m3,1"}, {"row2", "m1,2", "m2,2", "m3,2"} }; String[][] arrayTableRight = { {" ", "col1", "col2", "col2.5", "col3"}, {"row1", "m1,x", "m2,1", "m2.5,1", "m3,1"}, {"row2", "m1,2", "m2,2", "m2.5,2", "m3,2"} }; ReportContent tableLeft = JTableDiff.reportContentFromArray(arrayTableLeft, 1, 1); System.out.println("Compare left table\n" + StringTableDiff.diffReportToString(tableLeft)); ReportContent tableRight = JTableDiff.reportContentFromArray(arrayTableRight, 1, 1); System.out.println("to right table\n" + StringTableDiff.diffReportToString(tableRight)); ReportContent diffReport = JTableDiff.produceReportDiff(tableLeft, tableRight); String diffs = StringTableDiff.diffReportToString(diffReport); System.out.println("Produces these diffs\n" + diffs); assertEquals( diffs, "+----+----------------------------------+\n" + "| |col1 |col2|{+col2.5+}|col3|\n" + "+----+----------------------------------+\n" + "|row1|m1,[-1-]{+x+}|m2,1|{+m2.5,1+}|m3,1|\n" + "|row2|m1,2 |m2,2|{+m2.5,2+}|m3,2|\n" + "+----+----------------------------------+\n"); File dir = new File( System.getProperty("java.io.tmpdir") + File.separatorChar + "TableDiffTestsHTMLFiles"); dir.mkdirs(); HTMLTableDiff.writeHTMLDiffAndContext("TableDiffDemo", dir, diffReport); }
@Test public void testReportDiff() { String[][] cols = { {"a", "b"}, {"c", "d"} }; String[][] rows = { {"r1", "r2"}, {"r3", "r4"} }; Integer[][] mainData = { {3, 4}, {5, 6} }; Integer[][] diffData = { {3, 4}, {5, 7} }; ReportContent diffReport = JTableDiff.produceReportDiff( new ReportContent<String, String, Integer>(rows, cols, mainData, cols), new ReportContent<String, String, Integer>(rows, cols, diffData, cols)); String onlyDiffs = StringTableDiff.diffReportToString(TableDiff.onlyTheDiffs(diffReport)); assertEquals( onlyDiffs, "+-----+----------+\n" + "|a |b |b |\n" + "|c |d |d |\n" + "+-----+----------+\n" + "|r3|r4|[-6-]{+7+}|\n" + "+-----+----------+\n"); }
@Test public void testArraySlicing() { String[][] arrayTable = { {" ", "c11", "c21", "c31"}, {" ", "c12", "c22", "c32"}, {"r1", "m11", "m21", "m31"}, {"r2", "m12", "m22", "m32"} }; ReportContent table1 = JTableDiff.reportContentFromArray(arrayTable, 1, 2); arrayTable[3][3] = "mD32iff"; arrayTable[0][2] = "c21Diff"; ReportContent table2 = JTableDiff.reportContentFromArray(arrayTable, 1, 2); ReportContent diffReport2 = JTableDiff.produceReportDiff(table1, table2); String diffs2 = StringTableDiff.diffReportToString(TableDiff.onlyTheDiffs(diffReport2)); assertEquals( diffs2, "+--+---------------------------+\n" + "| |c21{+Diff+}|c31 |\n" + "| |c22 |c32 |\n" + "+--+---------------------------+\n" + "|r2|m22 |m{+D+}32{+iff+}|\n" + "+--+---------------------------+\n"); }