/** * allow to create object with given serialized object and data preparation * * @param mixed $first * @param mixed $second * * @dataProvider baseDataProvider * @requires baseDataProvider * @requires _exampleJsonData * @requires _dataPreparationCommon */ public function testCreationWithSerializedObjectDataPreparation($first, $second) { $data = $this->_exampleSerializedData($first, $second, true); $object = new Object(); $dataPreparation = ['#^std_class#' => function ($key, $val) { $val->data_first = self::IM_CHANGED; return $val; }]; $object->putPreparationCallback($dataPreparation); $object->unserialize($data); $this->assertEquals(self::IM_CHANGED, $object->getStdClass()->data_first); $this->assertNotEquals($first, $object->getStdClass()->data_first); }