Skip to content

Commit

Permalink
Merge pull request #697 from edx/fix/jbau/openendmodule-round-score-up
Browse files Browse the repository at this point in the history
small change in aggregating peer eval grades (rounds up)
  • Loading branch information
jbau committed Aug 19, 2013
2 parents 73ad057 + fa3bd7a commit 606e8b1
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,7 @@ def _parse_score_msg(self, score_msg, system, join_feedback=True):
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)
Expand Down
34 changes: 33 additions & 1 deletion common/lib/xmodule/xmodule/tests/test_combined_open_ended.py
Original file line number Diff line number Diff line change
Expand Up @@ -291,18 +291,50 @@ def update_score_single(self):
'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)
self.assertFalse(assessment == '')
# 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):
"""
Expand Down

0 comments on commit 606e8b1

Please sign in to comment.