// - Here we try the Regexp module
test_true([[programp(Regexp)]])
test_any([[object o; o=clone(Regexp); destruct(o); return 1]],1)

// Regexp->create
test_any([[object o; o=Regexp("^.*$"); destruct(o); return 1]],1)

// Regexp->match
test_eq([[Regexp("^.*$")->match("")]],1)
test_eq([[Regexp(".*")->match("foo")]],1)
test_eq([[Regexp("^.*$")->match("a")]],1)
test_eq([[Regexp("^.*$")->match("-")]],1)
test_eq([[Regexp("^$")->match("")]],1)
test_eq([[Regexp("^.$")->match("a")]],1)
test_eq([[Regexp("^.$")->match("-")]],1)
test_eq([[Regexp("^[abc]$")->match("-")]],0)
test_eq([[Regexp("^[abc]$")->match("a")]],1)
test_eq([[Regexp("^[abc]$")->match("c")]],1)
test_eq([[Regexp("^[^abc]$")->match("-")]],1)
test_eq([[Regexp("^[^abc]$")->match("a")]],0)
test_eq([[Regexp("^[^abc]$")->match("c")]],0)
test_eq([[Regexp("^a*$")->match("aaaa")]],1)
test_eq([[Regexp("^(a|bb)*$")->match("aabbabb")]],1)
test_eq([[Regexp("^(a|bb)*$")->match("")]],1)
test_eq([[Regexp("^(a|bb)+$")->match("")]],0)
test_eq([[Regexp("^(a|bb)+$")->match("aaa")]],1)
test_eq([[Regexp("^(a|bb)+$")->match("bbb")]],0)
test_eq([[Regexp("^(a|bb)+$")->match("bbaabba")]],1)
test_eq([[Regexp("^a|b$")->match("a")]],1)
test_eq([[Regexp("^a|b$")->match("b")]],1)

// Regexp->split
test_equal([[Regexp("^(a*)[^a]*$")->split("aaabbb")]],({"aaa"}))

