def test_AddingLabel(self): # Arrange parser1 = bpr.LParser('l') parser2 = bpr.LParser('o') parser3 = bpr.LParser('r') parser = cmb.betweenparsers(parser1, parser2, parser3, label='Parser: lor') parser_default_label = cmb.betweenparsers(parser1, parser2, parser3) # Assert self.assertEqual(parser.label, 'Parser: lor') self.assertEqual(parser_default_label.label, 'lor')
def test_FailureCase(self): # Arrange txt = 'ABCabc123 lorem ipsum' parser_l = stp.parse_uppercases() parser_m = stp.parse_digits() parser_r = stp.parse_lowercases() parser = cmb.betweenparsers(parser_l, parser_m, parser_r) # Act result = parser(txt) expected = res.Failure('error') # Assert self.assertEqual(result, expected)
def test_SuccessCase(self): # Arrange txt = 'ABCabc123 lorem ipsum' parser_l = stp.parse_uppercases() parser_m = stp.parse_lowercases() parser_r = stp.parse_digits() parser = cmb.betweenparsers(parser_l, parser_m, parser_r) # Act result = parser(txt) expected = res.Success(('abc', ' lorem ipsum')) # Assert self.assertEqual(result, expected)