Example #1
0
 public function testSortAssoc()
 {
     $arr = new ArrayObject(['b' => 'bval', 'a' => 'aval', 'c' => 'cval']);
     $arr->sortAssoc();
     $this->assertEquals(['a' => 'aval', 'b' => 'bval', 'c' => 'cval'], $arr->toArray());
     $arr = new ArrayObject(['b' => 'bval', 'a' => 'aval', 'c' => 'cval']);
     $arr->sortAssoc(function ($a, $b) {
         if ($a == $b) {
             return 0;
         }
         return $a < $b ? -1 : 1;
     });
     $this->assertEquals(['a' => 'aval', 'b' => 'bval', 'c' => 'cval'], $arr->toArray());
     $arr = new ArrayObject(['b' => new Item('bval'), 'a' => new Item('aval'), 'c' => new Item('cval')]);
     $arr->sortAssoc(new ComparableComparator());
     $this->assertEquals(['a' => 'aval', 'b' => 'bval', 'c' => 'cval'], $arr->map(function ($elem) {
         return $elem->getContent();
     })->toArray());
 }