class test sequence matcher
private boolean match a(character c) pure
return c == 'a' || c == 'A'
private boolean match b(character c) pure
return c == 'b' || c == 'B'
private boolean match c(character c) pure
return c == 'c' || c == 'C'
private string as string(readonly list[character] char list)
return char listfrozen copy() !> base string
string match procedure(readonly list[any value] the list)
var string result : ""
for (element : the list)
assert element is string
result = result ++ "-" ++ element
return result
testcase test match parse()
assert the matcher("abc")
assert the matcher("AbC")
assert the matcher("AaaBbCcc")
assert the matcher("AaaBBBCcc")
assert !the matcher("bac")
assert !the matcher("aabb")
assert !the matcher("aaca")
assert the matcherparse("abc") == "-a-b-c"
assert the matcherparse("AbC") == "-A-b-C"
assert the matcherparse("AaaBbCcc") == "-Aaa-Bb-Ccc"
assert the matcherparse("AaaBBBCcc") == "-Aaa-BBB-Ccc"