def test_create_from_option_points_all_feedback_only_criteria(self): rubric = self._rubric_with_all_feedback_only_criteria() assessment = Assessment.create(rubric, "Bob", "submission UUID", "PE") # Since there are no criteria with options, and we're not # providing written feedback, pass in an empty selection. selected = {} AssessmentPart.create_from_option_points(assessment, selected) # Score should be zero, since none of the criteria have options self.assertEqual(assessment.points_earned, 0) self.assertEqual(assessment.points_possible, 0)
def test_create_from_option_points_feedback_only_criterion(self): rubric = self._rubric_with_one_feedback_only_criterion() assessment = Assessment.create(rubric, "Bob", "submission UUID", "PE") # Create assessment parts by providing scores for options # but NO feedback. This simulates how an example-based AI # assessment is created. selected = { u"vøȼȺƀᵾłȺɍɏ": 2, u"ﻭɼค๓๓คɼ": 1, } AssessmentPart.create_from_option_points(assessment, selected) # Check the score (the feedback-only assessment should count for 0 points) self.assertEqual(assessment.points_earned, 3) self.assertEqual(assessment.points_possible, 4) # Check the feedback text (should default to an empty string) feedback_only = AssessmentPart.objects.get(criterion__name="feedback") self.assertEqual(feedback_only.feedback, u"")