ILIAS  trunk Revision v11.0_alpha-1715-g7fc467680fb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ExcPeerReviewTest.php
Go to the documentation of this file.
1 <?php
2 
20 
27 {
28  protected function tearDown(): void
29  {
30  }
31 
32  protected function getDistribution($user_ids, $num_assignments): \ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution
33  {
34  return new \ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution($user_ids, $num_assignments);
35  }
36 
40  public function testDistributionNumberOfPeers(): void
41  {
42  $user_ids = [100,200,300,400,500];
43  $num_assignments = 3;
44 
45  $distribution = $this->getDistribution($user_ids, $num_assignments);
46 
47  foreach ($user_ids as $user_id) {
48  $this->assertEquals(count($distribution->getPeersOfRater($user_id)), $num_assignments);
49  }
50  }
51 
55  public function testDistributionNumberOfRaters(): void
56  {
57  $user_ids = [10,20,30,40,50];
58  $num_assignments = 4;
59 
60  $distribution = $this->getDistribution($user_ids, $num_assignments);
61 
62  $peer_raters = [];
63  foreach ($user_ids as $user_id) {
64  foreach ($distribution->getPeersOfRater($user_id) as $peer) {
65  $peer_raters[$peer][$user_id] = $user_id;
66  }
67  }
68 
69  $this->assertSameSize($peer_raters, $user_ids);
70 
71  foreach ($peer_raters as $raters) {
72  $this->assertEquals(count($raters), $num_assignments);
73  }
74  }
75 
79  public function testDistributionNoSelfAssignment(): void
80  {
81  $user_ids = [10,20,30,40,50];
82  $num_assignments = 4;
83 
84  $distribution = $this->getDistribution($user_ids, $num_assignments);
85 
86  foreach ($user_ids as $user_id) {
87  foreach ($distribution->getPeersOfRater($user_id) as $peer) {
88  $this->assertNotEquals($user_id, $peer);
89  }
90  }
91  }
92 }
getDistribution($user_ids, $num_assignments)
Interface Observer Contains several chained tasks and infos about them.
testDistributionNoSelfAssignment()
Test if raters are not assigned as peers to themselves.
testDistributionNumberOfPeers()
Test if each rater has $num_assignments peers.
Test peer reviews.
testDistributionNumberOfRaters()
Test if each peer is assigned to $num_assignments raters.