def test_concatenation(self): assert parse_regex(" foo bar ") == Concatenation( Symbol("foo"), Symbol("bar"), ) assert parse_regex(" foo bar baz ") == Concatenation( Symbol("foo"), Concatenation( Symbol("bar"), Symbol("baz"), ), )
def test_parentheses(self): assert parse_regex(" (foo) (bar baz) * (qux quo)") == Concatenation( Symbol("foo"), Concatenation( Star(Concatenation( Symbol("bar"), Symbol("baz"), ), ), Concatenation( Symbol("qux"), Symbol("quo"), ), ), )
def test_union(self): assert parse_regex(" foo | ") == Union( Symbol("foo"), None, ) assert parse_regex(" foo | bar ") == Union( Symbol("foo"), Symbol("bar"), ) assert parse_regex(" foo | bar | baz ") == Union( Union( Symbol("foo"), Symbol("bar"), ), Symbol("baz"), )
def test_wildcard(self): assert parse_regex(" . ") == Symbol(".")
def test_symbol(self): assert parse_regex(" foo ") == Symbol("foo")
def test_query(self): assert parse_regex(" foo ? ") == Union(Symbol("foo"), None)
def test_plus(self): assert parse_regex(" foo + ") == Concatenation( Symbol("foo"), Star(Symbol("foo")), )
def test_star(self): assert parse_regex(" foo * ") == Star(Symbol("foo"))