class test repeat element
testcase test match()
assert zero or more("")
assert zero or more("a")
assert zero or more("abca")
assert !zero or more("abcda")
assert !zero or more("y")
assert !zero or more("xab")
assert !one or more("")
assert one or more("a")
assert one or more("abca")
assert !one or more("abcda")
assert !one or more("y")
assert !one or more("xab")
testcase test viable prefix()
assert zero or more • is viable prefix("")
assert zero or more • is viable prefix("a")
assert zero or more • is viable prefix("ab")
assert !zero or more • is viable prefix("y")
assert !zero or more • is viable prefix("ay")
assert one or more • is viable prefix("")
assert one or more • is viable prefix("a")
assert one or more • is viable prefix("ab")
assert !one or more • is viable prefix("y")
assert !one or more • is viable prefix("ay")
testcase test match prefix()
assert zero or more • match prefix("") == 0
assert zero or more • match prefix("a") == 1
assert zero or more • match prefix("abc") == 3
assert zero or more • match prefix("abcdef") == 3
assert zero or more • match prefix("x") == 0
assert zero or more • match prefix("xabc") == 0
assert zero or more • match prefix("abcabc") == 6
assert one or more • match prefix("a") == 1
assert one or more • match prefix("abc") == 3
assert one or more • match prefix("abcdef") == 3
assert one or more • match prefix("abcabc") == 6
testcase test find first()
assert match is_not null
assert match • begin == 0
assert match • end == 1
assert match2 is_not null
assert match2 • begin == 1
assert match2 • end == 4
assert match3 is_not null
assert match3 • begin == 5
assert match3 • end == 8
assert match4 is_not null
assert match4 • begin == 0
assert match4 • end == 0
assert match5 is_not null
assert match5 • begin == 2
assert match5 • end == 2
assert match6 is_not null
assert match6 • begin == 1
assert match6 • end == 4
assert match7 is_not null
assert match7 • begin == 2
assert match7 • end == 2
testcase test find last()
assert match is_not null
assert match • begin == 0
assert match • end == 1
assert match2 is_not null
assert match2 • begin == 5
assert match2 • end == 6
assert match3 is_not null
assert match3 • begin == 0
assert match3 • end == 3
assert match4 is_not null
assert match4 • begin == 5
assert match4 • end == 8
assert match5 is_not null
assert match5 • begin == 0
assert match5 • end == 0
assert match6 is_not null
assert match6 • begin == 2
assert match6 • end == 2
assert match7 is_not null
assert match7 • begin == 3
assert match7 • end == 5
assert match8 is_not null
assert match8 • begin == 9
assert match8 • end == 9
testcase test split()
assert split0 • size == 1
assert equals(split0[0], "foo")
assert split1 • size == 3
assert equals(split1[0], "foo")
assert equals(split1[1], "xyz")
assert equals(split1[2], "")
assert split2 • size == 4
assert equals(split2[0], "")
assert equals(split2[1], "1")
assert equals(split2[2], "2")
assert equals(split2[3], "3")