test suite 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() !> 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
test case 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"