コード例 #1
0
    def test_check_answer(self):
        test_cases = [
            TCData(([0, 3, 1, 2], 2, [0, 2]), True),
            TCData(([2, 1, 0], 2, [1, 2]), True),
            TCData(([2, 0, 1], 1, [1]), True),
            TCData(([3, 1, 2, 0], 2, [1, 3]), True),
            TCData(([3, 1, 2, 0], 2, [3, 1]), True),
            TCData(([3, 1, 2, 0], 4, [3, 1, 0, 2]), True),
            TCData(([3, 1, 2, 0], 4, [3, 1, 2, 0]), True),
            TCData(([0, 3, 1, 2], 1, [0, 1]), False),
            TCData(([2, 1, 0], 2, []), False),
            TCData(([2, 0, 1], 1, [0, 2]), False),
            TCData(([3, 1, 2, 0], 1, [1]), False),
            TCData(([1, 3, 2, 0], 2, [3, 1]), False),
            TCData(([3, 1, 2, 0], 4, [1, 2, 0]), False)
        ]

        for test_case in test_cases:
            subpart_question_mock = NonCallableMagicMock(spec_set=['options'])
            subpart_question_mock.options = NonCallableMagicMock(
                spec_set=['order', 'correct'])
            subpart_question_mock.options.order = test_case.input[0]
            subpart_question_mock.options.correct = NonCallableMagicMock(
                spec_set=['__len__'])
            subpart_question_mock.options.correct.__len__ = MagicMock(
                return_value=test_case.input[1])

            mcmaq_answer = MCMAQAnswer(test_case.input[2], None)
            mcmaq_answer.check_answer(subpart_question_mock)
            self.assertEqual(mcmaq_answer.correct, test_case.expected_output)
コード例 #2
0
    def test_check_answer(self):
        test_cases = [
            TCData(([0, 3, 1, 2], 0), True),
            TCData(([2, 1, 0], 2), True),
            TCData(([2, 0, 1], None), False),
            TCData(([3, 1, 2, 0], 2), False)
        ]

        for test_case in test_cases:
            subpart_question_mock = NonCallableMagicMock(spec_set=['options'])
            subpart_question_mock.options = NonCallableMagicMock(
                spec_set=['order'])
            subpart_question_mock.options.order = test_case.input[0]

            mcsaq_answer = MCSAQAnswer(test_case.input[1], None)
            mcsaq_answer.check_answer(subpart_question_mock)
            self.assertEqual(mcsaq_answer.correct, test_case.expected_output)