class TestOneOrMoreParser(TestCase): def setUp(self): cparse = CharacterParser("c") self.oomparser = OneOrMoreParser(cparse) def test_accept(self): self.assertEqual(self.oomparser.parse("cccb"), (["c", "c", "c"], "b")) self.assertEqual(self.oomparser.parse("ccc"), (["c", "c", "c"], "")) def test_fail(self): self.assertRaises(ParseError, self.oomparser.parse, "b") self.assertRaises(ParseError, self.oomparser.parse, "")
class TestOneOrMoreParser(TestCase): def setUp(self): cparse = CharacterParser("c") self.oomparser = OneOrMoreParser(cparse) def test_accept(self): self.assertEqual( self.oomparser.parse("cccb"), (["c", "c", "c"], "b") ) self.assertEqual( self.oomparser.parse("ccc"), (["c", "c", "c"], "") ) def test_fail(self): self.assertRaises(ParseError, self.oomparser.parse, "b") self.assertRaises(ParseError, self.oomparser.parse, "")
def setUp(self): cparse = CharacterParser("c") self.oomparser = OneOrMoreParser(cparse)
def __init__(self): SequenceParser.__init__(self, WordParser(), CharacterParser(":"), OneOrMoreParser(CharacterParser(" ")), WordParser(), CharacterParser("\n"))
def __init__(self): OneOrMoreParser.__init__( self, CharacterClassParser(ascii_letters + digits + "-"))
asdf/asdf ------------------------ """ class WordParser(OneOrMoreParser): def __init__(self): OneOrMoreParser.__init__( self, CharacterClassParser(ascii_letters + digits + "-")) def transform(self, result): return "".join(result) seplineparser = SequenceParser(CharacterParser("-"), OneOrMoreParser(CharacterParser("-")), CharacterParser("\n")) class KVLineParser(SequenceParser): def __init__(self): SequenceParser.__init__(self, WordParser(), CharacterParser(":"), OneOrMoreParser(CharacterParser(" ")), WordParser(), CharacterParser("\n")) def transform(self, result): return (result[0], result[3]) headerparser = SequenceParser(seplineparser, OneOrMoreParser(KVLineParser()), seplineparser)
def __init__(self): OneOrMoreParser.__init__(self, CharacterClassParser( ascii_letters+digits+"-" ) )
def setUp(self): cparse = CharacterParser("c") self.oomparser = OneOrMoreParser(cparse)