Ejemplo n.º 1
0
 public function assign(DiffOp $diff)
 {
     $data = $diff->toArray();
     $this->oldValue = @$data['oldvalue'];
     $this->newValue = @$data['newvalue'];
     return $this;
 }
Ejemplo n.º 2
0
 /**
  * @dataProvider diffOpProvider
  *
  * @param DiffOp $diffOp
  */
 public function testNewFromArrayWithConversion(DiffOp $diffOp)
 {
     $unserializationFunction = function ($array) {
         if (is_array($array) && isset($array['type']) && $array['type'] === 'Change') {
             return new DiffOpChange($array['teh_old'], $array['teh_new']);
         }
         return $array;
     };
     $factory = new DiffOpFactory($unserializationFunction);
     $serializationFunction = function ($obj) {
         if ($obj instanceof DiffOpChange) {
             return array('type' => 'Change', 'teh_old' => $obj->getOldValue(), 'teh_new' => $obj->getNewValue());
         }
         return $obj;
     };
     // try with conversion callback
     $array = $diffOp->toArray($serializationFunction);
     $newInstance = $factory->newFromArray($array);
     // If an equality method is implemented in DiffOp, it should be used here
     $this->assertEquals($diffOp, $newInstance);
     $this->assertEquals($diffOp->getType(), $newInstance->getType());
 }
Ejemplo n.º 3
0
 /**
  * @dataProvider instanceProvider
  */
 public function testToArrayWithConversion(DiffOp $diffOp)
 {
     $array = $diffOp->toArray(function ($diffOp) {
         return array('Nyan!');
     });
     $this->assertInternalType('array', $array);
 }