コード例 #1
0
    def test_instancer_feedback_override(self):
        def micro1_question(self):
            def micro1_feedback(correct, question):
                return "nice" if correct else "bad :("
            return random.choice(string.ascii_lowercase + ' '), string.ascii_lowercase + ' ', micro1_feedback
        tasker = TaskGenerator(micro1_question, '', None)

        question, answer = tasker.get_task_instance()
        feedback_text_correct = tasker.get_feedback_text(True)
        feedback_text_incorrect = tasker.get_feedback_text(False)

        self.assertEqual(feedback_text_correct, 'nice')
        self.assertEqual(feedback_text_incorrect, 'bad :(')
コード例 #2
0
    def test_feedback_function(self):
        def micro1_question(self):
            return random.choice(string.ascii_lowercase +
                                 ' '), string.ascii_lowercase + ' '

        def micro1_feedback(correct, question):
            return "nice" if correct else "bad :("

        tasker = TaskGenerator(micro1_question, '', micro1_feedback)

        question, answer = tasker.get_task_instance()
        feedback_text_correct = tasker.get_feedback_text(True)
        feedback_text_incorrect = tasker.get_feedback_text(False)

        self.assertEqual(feedback_text_correct, 'nice')
        self.assertEqual(feedback_text_incorrect, 'bad :(')
コード例 #3
0
    def test_feedback_false(self):
        def micro1_question(self):
            return random.choice(string.ascii_lowercase + ' '), string.ascii_lowercase + ' '
        tasker = TaskGenerator(micro1_question, '', False)

        question, answer = tasker.get_task_instance()
        feedback_text = tasker.get_feedback_text(True)

        self.assertEqual(feedback_text, '')
コード例 #4
0
    def test_show_feedback_sep_false(self):
        def micro1_question(self):
            return random.choice(string.ascii_lowercase + ' '), string.ascii_lowercase + ' '
        tasker = TaskGenerator(micro1_question, '', "awesome", '!', False)

        question, answer = tasker.get_task_instance()
        feedback_text = tasker.get_feedback_text(True)

        self.assertTrue(feedback_text.endswith('awesome'))
コード例 #5
0
    def test_feedback_true_iterable(self):
        def micro1_question(self):
            return random.choice(string.ascii_lowercase + ' '), string.ascii_lowercase + ' '
        tasker = TaskGenerator(micro1_question, '', True)

        question, answer = tasker.get_task_instance()
        feedback_text = tasker.get_feedback_text(True)

        for _ in range(10):
            self.assertTrue(feedback_text in answer)
コード例 #6
0
    def test_feedback_iterable(self):
        def micro1_question(self):
            return random.choice(string.ascii_lowercase + ' '), string.ascii_lowercase + ' '
        valid_feedbacks = ['great', 'nice', 'awesome']
        tasker = TaskGenerator(micro1_question, '', valid_feedbacks)

        question, answer = tasker.get_task_instance()
        feedback_text = tasker.get_feedback_text(True)

        self.assertIn(feedback_text, valid_feedbacks)
コード例 #7
0
    def test_show_feedback_sep_false(self):
        def micro1_question(self):
            return random.choice(string.ascii_lowercase +
                                 ' '), string.ascii_lowercase + ' '

        tasker = TaskGenerator(micro1_question, '', "awesome", '!', False)

        question, answer = tasker.get_task_instance()
        feedback_text = tasker.get_feedback_text(True)

        self.assertTrue(feedback_text.endswith('awesome'))
コード例 #8
0
    def test_feedback_str(self):
        def micro1_question(self):
            return random.choice(string.ascii_lowercase +
                                 ' '), string.ascii_lowercase + ' '

        tasker = TaskGenerator(micro1_question, '', "awesome")

        question, answer = tasker.get_task_instance()
        feedback_text = tasker.get_feedback_text(True)

        self.assertEqual(feedback_text, "awesome")
コード例 #9
0
    def test_feedback_true_function(self):
        def micro1_question(self):
            def micro1_answer(answer, question=None):
                return answer in string.ascii_lowercase + ' '
            return random.choice(string.ascii_lowercase + ' '), micro1_answer
        tasker = TaskGenerator(micro1_question, '', True)

        question, answer = tasker.get_task_instance()
        feedback_text = tasker.get_feedback_text(True)

        self.assertEqual(feedback_text, '')
コード例 #10
0
    def test_feedback_true_iterable(self):
        def micro1_question(self):
            return random.choice(string.ascii_lowercase +
                                 ' '), string.ascii_lowercase + ' '

        tasker = TaskGenerator(micro1_question, '', True)

        question, answer = tasker.get_task_instance()
        feedback_text = tasker.get_feedback_text(True)

        for _ in range(10):
            self.assertTrue(feedback_text in answer)
コード例 #11
0
    def test_feedback_iterable(self):
        def micro1_question(self):
            return random.choice(string.ascii_lowercase +
                                 ' '), string.ascii_lowercase + ' '

        valid_feedbacks = ['great', 'nice', 'awesome']
        tasker = TaskGenerator(micro1_question, '', valid_feedbacks)

        question, answer = tasker.get_task_instance()
        feedback_text = tasker.get_feedback_text(True)

        self.assertIn(feedback_text, valid_feedbacks)
コード例 #12
0
    def test_feedback_true_function(self):
        def micro1_question(self):
            def micro1_answer(answer, question=None):
                return answer in string.ascii_lowercase + ' '

            return random.choice(string.ascii_lowercase + ' '), micro1_answer

        tasker = TaskGenerator(micro1_question, '', True)

        question, answer = tasker.get_task_instance()
        feedback_text = tasker.get_feedback_text(True)

        self.assertEqual(feedback_text, '')