Ejemplo n.º 1
0
 /**
  * @dataProvider elementInstancesProvider
  *
  * @since 0.6
  *
  * @param DiffOp[] $elements
  */
 public function testOffsetSet(array $elements)
 {
     if ($elements === array()) {
         $this->assertTrue(true);
         return;
     }
     $list = new Diff();
     $element = reset($elements);
     $list->offsetSet(42, $element);
     $this->assertEquals($element, $list->offsetGet(42));
     $list = new Diff();
     $element = reset($elements);
     $list['oHai'] = $element;
     $this->assertEquals($element, $list['oHai']);
     $list = new Diff();
     $element = reset($elements);
     $list->offsetSet(9001, $element);
     $this->assertEquals($element, $list[9001]);
     $list = new Diff();
     $element = reset($elements);
     $list->offsetSet(null, $element);
     $this->assertEquals($element, $list[0]);
     $list = new Diff();
     $offset = 0;
     foreach ($elements as $element) {
         $list->offsetSet(null, $element);
         $this->assertEquals($element, $list[$offset++]);
     }
     $this->assertEquals(count($elements), $list->count());
     $this->checkTypeChecks(function (Diff $list, $element) {
         $list->offsetSet(mt_rand(), $element);
     });
 }