static A assertEquals(O x, A y) { ret assertEquals("", x, y); } static A assertEquals(S msg, O x, A y) { if (assertVerbose()) ret assertEqualsVerbose(msg, x, y); if (!(x == null ? y == null : x.equals(y))) fail((msg != null ? msg + ": " : "") + y + " != " + x); ret y; } ifclass Scorer svoid assertEquals(Scorer scorer, O x, O y) { assertEquals(scorer, "", x, y); } svoid assertEquals(Scorer scorer, S msg, O x, O y) { if (scorer == null) ret with assertEquals(msg, x, y); scorer.add(eq(x, y), nullIfEmpty(msg)); } endif