public function assign(DiffOp $diff) { $data = $diff->toArray(); $this->oldValue = @$data['oldvalue']; $this->newValue = @$data['newvalue']; return $this; }
/** * @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()); }
/** * @dataProvider instanceProvider */ public function testToArrayWithConversion(DiffOp $diffOp) { $array = $diffOp->toArray(function ($diffOp) { return array('Nyan!'); }); $this->assertInternalType('array', $array); }