sS assertEqualsVerboseIC(S x, S y) { assertEqualsVerboseIC((S) null, x, y); ret y; } sS assertEqualsVerboseIC(S msg, S x, S y) { if (!eqic(x, y)) fail((msg != null ? msg + ": " : "") + y + " != " + x); else print("OK: " + x); ret y; } ifclass Scorer static void assertEqualsVerboseIC(Scorer scorer, S x, S y) { if (scorer == null) ret with assertEqualsVerboseIC(x, y); if (!eqic(x, y)) { print(y + " != " + x); scorer.add(false); } else { print("OK: " + x); scorer.add(true); } } static void assertEqualsVerboseIC(Scorer scorer, S msg, S x, S y) { if (scorer == null) ret with assertEqualsVerboseIC(x, y); if (!eqic(x, y)) { print(msg + " => " + y + " != " + x); scorer.add(false); } else { print("OK: " + msg + " => " + x); scorer.add(true); } } endif