def test19(): exp = Re("This is a test") assert isinstance(exp, Expression.Seq) assert exp.expressions[0].char == "T" assert exp.expressions[-1].char == "t" format = optimize.optimize(exp) assert format.string == "This is a test"
def test5(): format = optimize.optimize(Group(None, Str("A")) + \ Group("B", Str("B")) + \ Group(None, Str("C"))) assert format.expressions[0].string == "A" assert format.expressions[1].expression.string == "B" assert format.expressions[2].string == "C"
def test5(): format = optimize.optimize(Group(None, Str("A")) + \ Group("B", Str("B")) + \ Group(None, Str("C"))) assert format.expressions[0].string == "A" assert format.expressions[1].expression.string == "B" assert format.expressions[2].string == "C"
def test1(): format = Group(None, Group("test", Str("A"))) assert format.name is None format2 = optimize.optimize(format) assert format.name is None # must not affect original expressions assert format2.name == "test" # got rid of top level assert format2.expression.string == "A"
def test1(): format = Group(None, Group("test", Str("A"))) assert format.name is None format2 = optimize.optimize(format) assert format.name is None # must not affect original expressions assert format2.name == "test" # got rid of top level assert format2.expression.string == "A"
def test19(): exp = Re("This is a test") assert isinstance(exp, Expression.Seq) assert exp.expressions[0].char == "T" assert exp.expressions[-1].char == "t" format = optimize.optimize(exp) assert format.string == "This is a test"
def test13(): format = optimize.optimize(Expression.Any("A") + \ Expression.Any("B") + \ Expression.Any("C") + \ ((Expression.Any("D") + \ Expression.Any("E")) + \ Expression.Any("F"))) assert format.string == "ABCDEF"
def test13(): format = optimize.optimize(Expression.Any("A") + \ Expression.Any("B") + \ Expression.Any("C") + \ ((Expression.Any("D") + \ Expression.Any("E")) + \ Expression.Any("F"))) assert format.string == "ABCDEF"
def test20(): test_format = Group("full_format", Rep(Group("a_record", Str("A") + Opt(Str("B")) + Str("\n"))) + \ Str("Z")) text = "A\nAC\nAB\nZ" pos = check_error_pos(text, test_format) assert pos == 0 format = select_names(test_format, ()) format = optimize.optimize(format) pos = check_error_pos(text, format) assert pos == 2
def test20(): test_format = Group("full_format", Rep(Group("a_record", Str("A") + Opt(Str("B")) + Str("\n"))) + \ Str("Z")) text = "A\nAC\nAB\nZ" pos = check_error_pos(text, test_format) assert pos == 0 format = select_names(test_format, ()) format = optimize.optimize(format) pos = check_error_pos(text, format) assert pos == 2
def test9(): # Shows that subexpressions are combined first format = optimize.optimize(Str("A") + (Str("B") + Str("C"))) assert format.string == "ABC"
def test10(): format = optimize.optimize(Any("A") + Str("B")) assert format.string == "AB"
def test8(): format = optimize.optimize((Str("A") + Str("B")) + Str("C")) assert format.string == "ABC"
def test16(): format = optimize.optimize(Str("A") + Expression.Literal("B")) assert format.string == "AB"
def test18(): format = optimize.optimize( Group(None, Group(None, Str("A") + Str("B")) + Str("C")) + \ Group(None, Str("D") + Expression.Any("E") + \ Group(None, Str("FG") + Str("H")) + Group(None, Str("I")))) assert format.string == "ABCDEFGHI"
def test11(): format = optimize.optimize(AnyBut("A") + Str("B")) assert format.expressions[1].string == "B"
def test2(): format = Group("test", Group(None, Str("A"))) format = optimize.optimize(format) assert format.name == "test" assert format.expression.string == "A"
def test16(): format = optimize.optimize(Str("A") + Expression.Literal("B")) assert format.string == "AB"
def test7(): format = optimize.optimize(Str("A") + Str("B") + Str("C") + Str("D")) assert format.string == "ABCD"
def test14(): format = optimize.optimize(Str("A") + Expression.Any("B", invert=1)) assert isinstance(format, Expression.Seq)
def test15(): format = optimize.optimize(Str("A") + Any("BC")) assert isinstance(format, Expression.Seq)
def test8(): format = optimize.optimize((Str("A") + Str("B")) + Str("C")) assert format.string == "ABC"
def test12(): format = optimize.optimize(Str("A") + Expression.Any("B")) assert format.string == "AB"
def test11(): format = optimize.optimize(AnyBut("A") + Str("B")) assert format.expressions[1].string == "B"
def test3(): format = optimize.optimize(Rep1(Group(None, Str("A")))) assert format.expression.string == "A"
def test2(): format = Group("test", Group(None, Str("A"))) format = optimize.optimize(format) assert format.name == "test" assert format.expression.string == "A"
def test10(): format = optimize.optimize(Any("A") + Str("B")) assert format.string == "AB"
def test3(): format = optimize.optimize(Rep1(Group(None, Str("A")))) assert format.expression.string == "A"
def test12(): format = optimize.optimize(Str("A") + Expression.Any("B")) assert format.string == "AB"
def test4(): format = optimize.optimize(Group(None, Group(None, Group(None, Str("A"))))) assert format.string == "A"
def test15(): format = optimize.optimize(Str("A") + Any("BC")) assert isinstance(format, Expression.Seq)
def test4(): format = optimize.optimize(Group(None, Group(None, Group(None, Str("A"))))) assert format.string == "A"
def test17(): format = optimize.optimize(Str("A") + Expression.Literal("B", invert = 1)) assert isinstance(format, Expression.Seq)
def test7(): format = optimize.optimize(Str("A") + Str("B") + Str("C") + Str("D")) assert format.string == "ABCD"
def test18(): format = optimize.optimize( Group(None, Group(None, Str("A") + Str("B")) + Str("C")) + \ Group(None, Str("D") + Expression.Any("E") + \ Group(None, Str("FG") + Str("H")) + Group(None, Str("I")))) assert format.string == "ABCDEFGHI"
def test9(): # Shows that subexpressions are combined first format = optimize.optimize(Str("A") + (Str("B") + Str("C"))) assert format.string == "ABC"