def test_AddingLabel(self):
     # Arrange
     parser1 = bpr.LParser('x')
     parser2 = bpr.LParser(',')
     parser = cmb.sep_by1(parser1, parser2, label='Parser: lor')
     parser_default_label = cmb.sep_by1(parser1, parser2)
     # Assert
     self.assertEqual(parser.label, 'Parser: lor')
     self.assertEqual(parser_default_label.label, 'x[,x]+')
 def test_FailureCase(self):
     # Arrange
     txt1 = 'ABC'
     txt2 = ''
     sep = bpr.LParser(",")
     item = stp.parse_lowercases()
     parser = cmb.sep_by1(item, sep)
     # Act
     result1 = parser(txt1)
     expected1 = res.Failure('error')
     result2 = parser(txt2)
     expected2 = res.Failure('error')
     # Assert
     self.assertEqual(result1, expected1)
     self.assertEqual(result2, expected2)
 def test_SuccessCase(self):
     # Arrange
     txt1 = 'abc,def,ghi'
     txt2 = 'abc'
     txt3 = 'abc,def,ghi2132'
     sep = bpr.LParser(",")
     item = stp.parse_lowercases()
     parser = cmb.sep_by1(item, sep)
     # Act
     result1 = parser(txt1)
     expected1 = res.Success(('abc,def,ghi', ''))
     result2 = parser(txt2)
     expected2 = res.Success(('abc', ''))
     result3 = parser(txt3)
     expected3 = res.Success(('abc,def,ghi', '2132'))
     # Assert
     self.assertEqual(result1, expected1)
     self.assertEqual(result2, expected2)
     self.assertEqual(result3, expected3)