コード例 #1
0
ファイル: main.py プロジェクト: mzgcz/exam
def compare_complex_string(s1, s2):
    try:
        result = cmp(ComplexString(s1), ComplexString(s2))
    except Exception:
        result = -2

    return result
コード例 #2
0
ファイル: test_complex_string.py プロジェクト: mzgcz/exam
    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)])
コード例 #3
0
ファイル: test_complex_string.py プロジェクト: mzgcz/exam
    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)])
コード例 #4
0
ファイル: test_complex_string.py プロジェクト: mzgcz/exam
    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)])
コード例 #5
0
ファイル: test_complex_string.py プロジェクト: mzgcz/exam
    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)])
コード例 #6
0
ファイル: test_complex_string.py プロジェクト: mzgcz/exam
 def test_split_only_number(self):
     result = ComplexString("1").split()
     eq_(result, [SingleString("1", SingleString.TYPE_NUMBER)])
コード例 #7
0
ファイル: test_complex_string.py プロジェクト: mzgcz/exam
 def test_split_only_string(self):
     result = ComplexString("B").split()
     eq_(result, [SingleString("B", SingleString.TYPE_STRING)])
コード例 #8
0
ファイル: test_complex_string.py プロジェクト: mzgcz/exam
 def test_split_empty_string(self):
     result = ComplexString("").split()
     eq_(result, [])
コード例 #9
0
ファイル: test_complex_string.py プロジェクト: mzgcz/exam
 def test_double_escapes(self):
     ComplexString(r"B\\1")
コード例 #10
0
ファイル: test_complex_string.py プロジェクト: mzgcz/exam
 def test_end_with_escapes(self):
     ComplexString("B\\")