Exemplo n.º 1
0
 def get_relatedstudents_that_qualify_for_exam(self, period):
     passing_relatedstudentsids = []
     grouper = GroupsGroupedByRelatedStudentAndAssignment(period)
     for aggregated_relstudentinfo in grouper.iter_relatedstudents_with_results():
         if self.student_qualifies_for_exam(aggregated_relstudentinfo):
             passing_relatedstudentsids.append(aggregated_relstudentinfo.relatedstudent.id)
     return passing_relatedstudentsids
Exemplo n.º 2
0
 def test_iter_relatedstudents_with_results(self):
     self._add_bad_feedback(self.testhelper.sub_p1_a1_stud1)
     self.testhelper.sub_p1.relatedstudent_set.create(user=self.testhelper.student1)
     grouper = GroupsGroupedByRelatedStudentAndAssignment(self.testhelper.sub_p1)
     results = list(grouper.iter_relatedstudents_with_results())
     self.assertEqual(len(results), 1)
     student1info = results[0]
     grouplists = list(student1info.iter_groups_by_assignment())
     self.assertEqual(len(grouplists), 3)  # Should match the number of assignments
     self.assertEqual(grouplists[0].get_best_gradestring(), '0/100')
Exemplo n.º 3
0
 def test_iter_relatedstudents_with_results_multi(self):
     self.testhelper.sub_p1.relatedstudent_set.create(user=self.testhelper.student1)
     self.testhelper.sub_p1.relatedstudent_set.create(user=self.testhelper.student2)
     grouper = GroupsGroupedByRelatedStudentAndAssignment(self.testhelper.sub_p1)
     results = list(grouper.iter_relatedstudents_with_results())
     self.assertEqual(len(results), 2)
Exemplo n.º 4
0
 def test_iter_students_with_feedback_that_is_candidate_but_not_in_related_none(self):
     grouper = GroupsGroupedByRelatedStudentAndAssignment(self.testhelper.sub_p1)
     self.assertEquals(len(list(grouper.iter_students_with_feedback_that_is_candidate_but_not_in_related())), 0)
     self.assertEquals(len(list(grouper.iter_relatedstudents_with_results())), 0)