From fa3bd7a19a7ba4d58e26dfb46613c20ea3ba1a5b Mon Sep 17 00:00:00 2001 From: Jason Bau Date: Thu, 15 Aug 2013 12:27:44 -0700 Subject: [PATCH] small change in aggregating peer eval grades (rounds up) --- .../open_ended_module.py | 2 +- .../xmodule/tests/test_combined_open_ended.py | 34 ++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py b/common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py index 924ca2c23d..1bc8bddbc1 100644 --- a/common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py +++ b/common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py @@ -527,7 +527,7 @@ class OpenEndedModule(openendedchild.OpenEndedChild): feedback = "".join(feedback_items) else: feedback = feedback_items - score = int(median(score_result['score'])) + score = int(round(median(score_result['score']))) else: # This is for instructor and ML grading feedback, rubric_score = self._format_feedback(score_result, system) diff --git a/common/lib/xmodule/xmodule/tests/test_combined_open_ended.py b/common/lib/xmodule/xmodule/tests/test_combined_open_ended.py index 05e8df0ad8..035f88c046 100644 --- a/common/lib/xmodule/xmodule/tests/test_combined_open_ended.py +++ b/common/lib/xmodule/xmodule/tests/test_combined_open_ended.py @@ -291,6 +291,30 @@ class OpenEndedModuleTest(unittest.TestCase): 'xqueue_body': json.dumps(score_msg)} self.openendedmodule.update_score(get, self.test_system) + def update_score_multiple(self): + self.openendedmodule.new_history_entry("New Entry") + feedback = { + "success": True, + "feedback": "Grader Feedback" + } + score_msg = { + 'correct': True, + 'score': [0, 1], + 'msg': 'Grader Message', + 'feedback': [json.dumps(feedback), json.dumps(feedback)], + 'grader_type': 'PE', + 'grader_id': ['1', '2'], + 'submission_id': '1', + 'success': True, + 'rubric_scores': [[0], [0]], + 'rubric_scores_complete': [True, True], + 'rubric_xml': [etree.tostring(self.rubric), etree.tostring(self.rubric)] + } + get = {'queuekey': "abcd", + 'xqueue_body': json.dumps(score_msg)} + self.openendedmodule.update_score(get, self.test_system) + + def test_latest_post_assessment(self): self.update_score_single() assessment = self.openendedmodule.latest_post_assessment(self.test_system) @@ -298,11 +322,19 @@ class OpenEndedModuleTest(unittest.TestCase): # check for errors self.assertFalse('errors' in assessment) - def test_update_score(self): + def test_update_score_single(self): self.update_score_single() score = self.openendedmodule.latest_score() self.assertEqual(score, 4) + def test_update_score_multiple(self): + """ + Tests that a score of [0, 1] gets aggregated to 1. A change in behavior added by @jbau + """ + self.update_score_multiple() + score = self.openendedmodule.latest_score() + self.assertEquals(score, 1) + class CombinedOpenEndedModuleTest(unittest.TestCase): """