def test_get_sentence_hints(self): submission = 'a. b.' checker = AnswerChecker(submission, self.test_paragraph) expected = { 'error_count': 2, 'hint_paragraph': '<bold>a.</bold> <bold>b.</bold>', 'missing_sentences': 0, } self.assertEqual(checker.get_sentence_hints(), expected)
def test_count_word_errors_no_errors(self): all_correct = [ 'I like squirrels! The squirrels like me.', 'I like a squirrel! The squirrel likes me.', ' I like squirrels! The squirrels like me. ', ] for submission in all_correct: checker = AnswerChecker(submission, self.test_paragraph) self.assertEqual(checker.count_word_errors(), 0)
def test_all_functions_switching_periods_and_exclamation_points(self): submission = 'I like squirrels. The squirrels like me.' checker = AnswerChecker(submission, self.test_paragraph) expected_hint = { 'error_count': 0, 'missing_sentences': 0, 'hint_paragraph': submission } self.assertEqual(checker.is_submission_correct(), True) self.assertEqual(checker.count_word_errors(), 0) self.assertEqual(checker.count_sentence_errors(), 0) self.assertEqual(checker.get_sentence_hints(), expected_hint) self.assertEqual(checker.get_word_hints(), expected_hint)
def test_count_word_errors_three_errors(self): submission = 'I like squirrels! A squirrel liked me?' checker = AnswerChecker(submission, self.test_paragraph) self.assertEqual(checker.count_word_errors(), 3)
def test_count_sentence_error_two_errors(self): two_errors = 'a. b.' self.assertEqual(AnswerChecker(two_errors, self.test_paragraph).count_sentence_errors(), 2)
def test_is_submission_correct_false(self): incorrect_submission = 'i like squirrels? The squirrels like me.' to_test = AnswerChecker(incorrect_submission, self.test_paragraph) self.assertFalse(to_test.is_submission_correct())
def test_is_sumission_correct_true_period_and_exclamation_are_switched(self): correct_submission = 'I like a squirrel. The squirrel likes me!' to_test = AnswerChecker(correct_submission, self.test_paragraph) self.assertTrue(to_test.is_submission_correct())
def test_is_submission_correct_true_noun_changed_number(self): correct_submission = 'I like a squirrel! The squirrel likes me.' to_test = AnswerChecker(correct_submission, self.test_paragraph) self.assertTrue(to_test.is_submission_correct())
def test_is_submission_correct_true_with_bad_white_spaces(self): correct_submission = ' I like squirrels! The squirrels like me. ' to_test = AnswerChecker(correct_submission, self.test_paragraph) self.assertTrue(to_test.is_submission_correct())
def test_init(self): submission = 'Submission paragraph' original = Paragraph([]) to_test = AnswerChecker(submission, original) self.assertEqual(to_test.submission, submission) self.assertEqual(to_test.original, original)