def testExceptionsRaisedByParsersAreNotModified(self): mocks = MockMockMock.Engine() parser = mocks.create("parser") e = Exception() parser.expect.apply.withArguments(lambda args, kwds: True).andRaise(e) with self.assertRaises(Exception) as cm: parse(SequenceParser([parser.object]), "") self.assertIs(cm.exception, e)
def __call__(self, tokens): return parse(self.internal.syntax, tokens)
def expectFailure(self, input, position, expected): with self.assertRaises(ParsingError) as cm: parse(self.p, input) self.assertEqual(cm.exception.message, "Syntax error") self.assertEqual(cm.exception.position, position) self.assertEqual(cm.exception.expected, set(expected))
def expectSuccess(self, input, value): self.assertEqual(parse(self.p, input), value)