Exemplo n.º 1
0
 public function test_sort_graded()
 {
     $time = time();
     $oldertime = $time - 100;
     $newertime = $time + 100;
     $older = new \StdClass();
     $older->opentime = $oldertime;
     $older->closetime = $oldertime;
     $older->coursemoduleid = 123;
     $newer = new \StdClass();
     $newer->opentime = $newertime;
     $newer->closetime = $newertime;
     $newer->coursemoduleid = 789;
     $actual = local::sort_graded($older, $newer);
     $this->assertSame(-1, $actual);
     $actual = local::sort_graded($newer, $older);
     $this->assertSame(1, $actual);
     $olderopenonly = new \StdClass();
     $olderopenonly->opentime = $oldertime;
     $olderopenonly->coursemoduleid = 101;
     $neweropenonly = new \StdClass();
     $neweropenonly->opentime = $newertime;
     $neweropenonly->coursemoduleid = 102;
     $actual = local::sort_graded($olderopenonly, $newer);
     $this->assertSame(-1, $actual);
     $actual = local::sort_graded($olderopenonly, $neweropenonly);
     $this->assertSame(-1, $actual);
     $actual = local::sort_graded($neweropenonly, $older);
     $this->assertSame(1, $actual);
     $actual = local::sort_graded($neweropenonly, $olderopenonly);
     $this->assertSame(1, $actual);
     $one = new \StdClass();
     $one->opentime = $time;
     $one->closetime = $time;
     $one->coursemoduleid = 1;
     $two = new \StdClass();
     $two->opentime = $time;
     $two->closetime = $time;
     $two->coursemoduleid = 2;
     $actual = local::sort_graded($one, $two);
     $this->assertSame(-1, $actual);
     $actual = local::sort_graded($two, $one);
     $this->assertSame(1, $actual);
     // Everything equals itself.
     $events = [$older, $newer, $olderopenonly, $neweropenonly, $one, $two];
     foreach ($events as $event) {
         $actual = local::sort_graded($event, $event);
         $this->assertSame(0, $actual);
     }
 }