def test_return_three(self, mock_parse): mock_parse.side_effect = self.parse_impl values = parse_all('%s;%s;%s' % (self.str_d4, self.str_2d6, self.str_3d8_4)) self.assertEqual(values, [self.val_d4, self.val_2d6, self.val_3d8_4])
def test_ignore_leading_separators(self, mock_parse): mock_parse.side_effect = self.parse_impl values = parse_all( ';;;%s;%s;%s;%s' % (self.str_d4, self.str_2d6, self.str_3d8_4, self.str_4d10_5)) self.assertEqual( values, [self.val_d4, self.val_2d6, self.val_3d8_4, self.val_4d10_5])
def test_ok_for_semicolon_separators(self, mock_parse): mock_parse.side_effect = self.parse_impl values = parse_all( '%s;%s;%s;%s' % (self.str_d4, self.str_2d6, self.str_3d8_4, self.str_4d10_5)) self.assertEqual( values, [self.val_d4, self.val_2d6, self.val_3d8_4, self.val_4d10_5])
def test_fail_if_parse_fail(self, mock_parse): mock_parse.side_effect = self.parse_impl with self.assertRaises(InvalidFormat): _ = parse_all('xyz')
def test_fail_if_only_spaces(self, _): with self.assertRaises(InvalidFormat): _ = parse_all(' ')
def test_fail_if_empty(self, _): with self.assertRaises(InvalidFormat): _ = parse_all('')
def test_return_single(self, mock_parse): mock_parse.side_effect = self.parse_impl values = parse_all('%s' % (self.str_d4)) self.assertEqual(values, [self.val_d4])