class Tester { private int testsPassed = 0; private int testsTotal = 0; private final String colPassed = (char)27 + "[32;1m"; private final String colFailed = (char)27 + "[31;1m"; private final String colReset = (char)27 + "[0m"; private final String strPassed = colPassed+"PASSED: "+colReset; private final String strFailed = colFailed+"FAILED: "+colReset; public void pass(String desc) { System.out.println(strPassed+desc); testsPassed += 1; testsTotal += 1; } public void fail(String desc) { System.out.println(strFailed+desc); testsTotal += 1; } public void test(T expected, T actual, String desc) { if (expected != null && expected.equals(actual)) pass(desc); else if (expected == actual) pass(desc); else fail(desc); } public void printResult() { System.out.println(testsPassed+"/"+testsTotal+" tests passed."); } }