Example #1
0
File: main.py Project: mzgcz/exam
def compare_complex_string(s1, s2):
    try:
        result = cmp(ComplexString(s1), ComplexString(s2))
    except Exception:
        result = -2

    return result
Example #2
0
    def test_split_string_and_number(self):
        result = ComplexString("B1").split()
        eq_(result, [SingleString("B", SingleString.TYPE_STRING),
                     SingleString("1", SingleString.TYPE_NUMBER)])

        result = ComplexString("B01").split()
        eq_(result, [SingleString("B", SingleString.TYPE_STRING),
                     SingleString("01", SingleString.TYPE_NUMBER)])
Example #3
0
    def test_split_escape_string_and_number(self):
        result = ComplexString(r"\B1").split()
        eq_(result, [SingleString("B1", SingleString.TYPE_NUMBER)])

        result = ComplexString(r"1\B1").split()
        eq_(result, [SingleString("1B1", SingleString.TYPE_NUMBER)])

        result = ComplexString(r"1\B\B1").split()
        eq_(result, [SingleString("1BB1", SingleString.TYPE_NUMBER)])
Example #4
0
    def test_split_string_and_escape_number(self):
        result = ComplexString(r"B\1").split()
        eq_(result, [SingleString("B1", SingleString.TYPE_STRING)])

        result = ComplexString(r"B\123B").split()
        eq_(result, [SingleString("B123B", SingleString.TYPE_STRING)])

        result = ComplexString(r"\1B").split()
        eq_(result, [SingleString("1B", SingleString.TYPE_STRING)])
Example #5
0
    def test_split_string_escape_numbers_and_number(self):
        result = ComplexString(r"B\1234").split()
        eq_(result, [SingleString("B123", SingleString.TYPE_STRING),
                     SingleString("4", SingleString.TYPE_NUMBER)])

        result = ComplexString(r"B\1B1").split()
        eq_(result, [SingleString("B1B", SingleString.TYPE_STRING),
                     SingleString("1", SingleString.TYPE_NUMBER)])

        result = ComplexString(r"B\1234\1B").split()
        eq_(result, [SingleString("B123", SingleString.TYPE_STRING),
                     SingleString("4", SingleString.TYPE_NUMBER),
                     SingleString("1B", SingleString.TYPE_STRING)])

        result = ComplexString(r"B\1\2345\1B").split()
        eq_(result, [SingleString("B1234", SingleString.TYPE_STRING),
                     SingleString("5", SingleString.TYPE_NUMBER),
                     SingleString("1B", SingleString.TYPE_STRING)])
Example #6
0
 def test_split_only_number(self):
     result = ComplexString("1").split()
     eq_(result, [SingleString("1", SingleString.TYPE_NUMBER)])
Example #7
0
 def test_split_only_string(self):
     result = ComplexString("B").split()
     eq_(result, [SingleString("B", SingleString.TYPE_STRING)])
Example #8
0
 def test_split_empty_string(self):
     result = ComplexString("").split()
     eq_(result, [])
Example #9
0
 def test_double_escapes(self):
     ComplexString(r"B\\1")
Example #10
0
 def test_end_with_escapes(self):
     ComplexString("B\\")