!7 static SS data = litorderedmap( "rjmpeccijegweswt mqxvooyvssenlrzh", "I am your father", "rjmpeccijegweswt xuppnisnjrerjrcq", "I am your mother", ); p { int tests = 0; for (S s : keys(data)) { S e = data.get(s); assertEquals(s, fromEnglish(e)); assertEqualsIC(e, toEnglish(s)); tests += 2; } print("OK (" + n(tests, "tests") + ")"); } static S fromEnglish(S s) { new Matches m; if "i am your ..." ret "rjmpeccijegweswt " + fromEnglish($1); if "father" ret "mqxvooyvssenlrzh"; if "mother" ret "xuppnisnjrerjrcq"; ret s; } static S toEnglish(S s) { new Matches m; if "rjmpeccijegweswt ..." ret "I am your " + toEnglish($1); if "mqxvooyvssenlrzh" ret "father"; if "xuppnisnjrerjrcq" ret "mother"; ret s; }