def setUp(self): self.default_source = { 'answer': '42', 'max_error': '1' } self.quiz = NumberQuiz(NumberQuiz.Source(self.default_source))
def get_quiz(self, answer, max_error): return NumberQuiz( NumberQuiz.Source( {'options': [{ 'answer': answer, 'max_error': max_error, }]}))
def setUp(self): self.default_option = { 'answer': '42', 'max_error': '1', } self.default_source = { 'options': [self.default_option], } self.quiz = NumberQuiz(NumberQuiz.Source(self.default_source))
def get_reply(self, number): return self.quiz.clean_reply(NumberQuiz.Reply({'number': number}), None)
def test_number_is_extracted(self): cleaned_reply = self.quiz.clean_reply(NumberQuiz.Reply({'number': '111'}), None) self.assertEqual(cleaned_reply, '111')
def test_different_formats(self): for answer in ['42', '42.1', '42,1', '.42', ',42']: NumberQuiz(NumberQuiz.Source(dict(self.default_source, answer=answer)))
def test_negative_error(self): with self.assertRaises(FormatError): NumberQuiz(NumberQuiz.Source(dict(self.default_source, max_error='-1')))
def test_different_formats(self): for answer in ['42', '42.1', '42,1', '.42', ',42']: self.default_option['answer'] = answer NumberQuiz(NumberQuiz.Source(self.default_source))
def test_negative_error(self): with self.assertRaises(FormatError): self.default_option['max_error'] = '-1' NumberQuiz(NumberQuiz.Source(self.default_source))
def test_invalid_options_number(self): with self.assertRaises(FormatError): self.default_source = {'options': []} NumberQuiz(NumberQuiz.Source(self.default_source))