Example #1
0
    def test_parse_regular(self):
        self.assert_parse_regular('abcd(48x51)efg', Element('abcd', 1),
                                  '(48x51)efg')

        self.assert_parse_regular('', Element('', 1), '')

        self.assert_parse_regular('abcde', Element('abcde', 1), '')
Example #2
0
    def test_parse_marker(self):
        element = Element([Element('abc', 1)], 51)
        self.assert_parse_marker('(3x51)abcd', element, 'd')

        self.assert_parse_marker('(0x51)', Element([], 51), '')

        element = Element([Element('ab', 1)], 51)
        self.assert_parse_marker('(2x51)ab', element, '')
Example #3
0
 def test_parse(self):
     text = 'abcd(7x15)(1x11)efg(3x3)hijklm'
     expected = Element([
         Element('abcd', 1),
         Element([Element([Element('e', 1)], 11)], 15),
         Element('fg', 1),
         Element([Element('hij', 1)], 3),
         Element('klm', 1)
     ],
                        repeat=1)
     self.assertEqual(self.comp.parse(text), expected)
Example #4
0
 def test_multi_nested(self):
     element = Element([
         Element('abcd', 1),
         Element([Element([Element('e', 1)], 11)], 15),
         Element('fg', 1),
         Element([Element('hij', 1)], 3),
         Element('klm', 1)
     ],
                       repeat=1)
     combined = ''.join(['abcd', ('e' * 11) * 15, 'fg', 'hij' * 3, 'klm'])
     self.assert_element(element, combined)
Example #5
0
 def test_parse_marker_data(self):
     text = '(2x2)BCD(2x2)EFG'
     marker = Marker(len(text) - 1, 3)
     element = Element([
         Element([Element('BC', 1)], 2),
         Element('D', 1),
         Element([Element('EF', 1)], 2)
     ],
                       repeat=3)
     self.assert_parse_market_data(text, marker, element, 'G')
Example #6
0
 def test_flat(self):
     self.assert_element(Element('abcd', 2), 'abcd' * 2)
Example #7
0
 def test_nested(self):
     element = Element([Element('abcd', 2), Element('efg', 2)], repeat=1)
     self.assert_element(element, 'abcd' * 2 + 'efg' * 2)
Example #8
0
 def test_parse_marker_data(self):
     self.assert_parse_market_data('abcdefg', Marker(4, 3),
                                   Element([Element('abcd', 1)], 3), 'efg')