def test_join(self):
     rule = easyparse.join(easyparse.PatternRule('a'),
                           easyparse.PatternRule('q', ignore_output=True))
     self.assertEqual((True, easyparse.Ignored), rule.parse(''))
     self.assertEqual((True, ['a']), rule.parse('a'))
     self.assertEqual((True, ['a', 'a']), rule.parse('aqa'))
     self.assertEqual((True, ['a']), rule.parse('aa'))
 def test_join(self):
     rule = easyparse.join(easyparse.PatternRule('a'),
                           easyparse.PatternRule('q',
                                                 ignore_output=True))
     self.assertEqual((True, easyparse.Ignored), rule.parse(''))
     self.assertEqual((True, ['a']), rule.parse('a'))
     self.assertEqual((True, ['a', 'a']), rule.parse('aqa'))
     self.assertEqual((True, ['a']), rule.parse('aa'))
 def test_parse_large_stack_with_join(self):
     rule = easyparse.join(easyparse.parse('a'), easyparse.ignore(';'))
     ok, result = rule.parse('a;' * 999 + 'a')
     self.assertTrue(ok)
     self.assertEqual(['a'] * 1000, result)
 def test_parse_large_stack_with_join(self):
     rule = easyparse.join(easyparse.parse('a'),
                           easyparse.ignore(';'))
     ok, result = rule.parse('a;' * 999 + 'a')
     self.assertTrue(ok)
     self.assertEqual(['a'] * 1000, result)