def test_arguments(self): p = Parser("filter: hi.there[5], keyarg: 7") self.assertEqual('filter', p.consume(':id')) self.assertEqual(':', p.consume(':colon')) self.assertEqual('hi.there[5]', p.argument()) self.assertEqual(',', p.consume(':comma')) self.assertEqual('keyarg: 7', p.argument())
def test_id_false(self): p = Parser("wat 6 Peter Hegemon") self.assertEqual('wat', p.id('wat')) self.assertFalse(p.id('endgame')) self.assertEqual('6', p.consume(':number')) self.assertEqual('Peter', p.id('Peter')) self.assertFalse(p.id('Achilles'))
def test_look(self): p = Parser("wat 6 Peter Hegemon") self.assertTrue(p.look(':id')) self.assertEqual('wat', p.consume(':id')) self.assertFalse(p.look(':comparison')) self.assertTrue(p.look(':number')) self.assertTrue(p.look(':id', 1)) self.assertFalse(p.look(':number', 1))
def test_consume_false(self): p = Parser("wat: 7") self.assertEqual('wat', p.consume(':id', force_type=True)) self.assertFalse(p.consume(':dot', force_type=True)) self.assertEqual(':', p.consume(':colon')) self.assertEqual('7', p.consume(':number', force_type=True))
def test_jump(self): p = Parser("wat: 7") p.jump(2) self.assertEqual('7', p.consume(':number'))
def test_consume(self): p = Parser("wat: 7") self.assertEqual('wat', p.consume(':id')) self.assertEqual(':', p.consume(':colon')) self.assertEqual('7', p.consume(':number'))