def test_loading_different_problem_types(self, block_type, filename): """ Test that transformation works for various block types """ metadata = self.default_problem_metadata.copy() if block_type == u'library_content': # Library content does not have a weight del metadata[u'weight'] add_xml_block_from_file(block_type, filename, parent=self.vert1, metadata=metadata)
def test_loading_different_problem_types(self, block_type, filename): """ Test that transformation works for various block types """ metadata = self.default_problem_metadata.copy() if block_type == u'library_content': # Library content does not have a weight del metadata[u'weight'] add_xml_block_from_file(block_type, filename, parent=self.vert1, metadata=metadata)
def test_score_submission_for_capa_problems(self): add_xml_block_from_file(u'problem', u'capa.xml', parent=self.vert1, metadata=self.default_problem_metadata) course_structure = get_course_blocks(self.student, self.course.location) score = self._get_fresh_subsection_score(course_structure, self.seq1) self.assertEqual(score.all_total.earned, 0.0) self.assertEqual(score.all_total.possible, 2.5) self.submit_question_answer(u'problem', {u'2_1': u'Correct'}) score = self._get_fresh_subsection_score(course_structure, self.seq1) self.assertEqual(score.all_total.earned, 1.25) self.assertEqual(score.all_total.possible, 2.5)
def _get_score_with_alterations(self, alterations): """ Given a dict of alterations to the default_problem_metadata, return the score when one correct problem (out of two) is submitted. """ metadata = self._get_altered_metadata(alterations) add_xml_block_from_file(u'problem', u'capa.xml', parent=self.vert1, metadata=metadata) course_structure = get_course_blocks(self.student, self.course.location) self.submit_question_answer(u'problem', {u'2_1': u'Correct'}) return self._get_fresh_subsection_score(course_structure, self.seq1)
def test_score_submission_for_capa_problems(self): add_xml_block_from_file(u'problem', u'capa.xml', parent=self.vert1, metadata=self.default_problem_metadata) course_structure = get_course_blocks(self.student, self.course.location) score = self._get_fresh_subsection_score(course_structure, self.seq1) self.assertEqual(score.all_total.earned, 0.0) self.assertEqual(score.all_total.possible, 2.5) self.submit_question_answer(u'problem', {u'2_1': u'Correct'}) score = self._get_fresh_subsection_score(course_structure, self.seq1) self.assertEqual(score.all_total.earned, 1.25) self.assertEqual(score.all_total.possible, 2.5)
def _get_score_with_alterations(self, alterations): """ Given a dict of alterations to the default_problem_metadata, return the score when one correct problem (out of two) is submitted. """ metadata = self._get_altered_metadata(alterations) add_xml_block_from_file(u'problem', u'capa.xml', parent=self.vert1, metadata=metadata) course_structure = get_course_blocks(self.student, self.course.location) self.submit_question_answer(u'problem', {u'2_1': u'Correct'}) return self._get_fresh_subsection_score(course_structure, self.seq1)