public function reconstituteArrayWorksWithPersistenceObjectsInTheArray()
{
$objectsAsArray = ['some object' => [ObjectSerializer::CLASSNAME => 'some object', ObjectSerializer::PROPERTIES => ObjectSerializer::PROPERTIES]];
$objectSerializer = $this->getAccessibleMock(ObjectSerializer::class, ['reconstitutePersistenceObject'], [], '', false);
$objectSerializer->expects($this->once())->method('reconstitutePersistenceObject')->with('persistenceObjectClassName', 'someUUID')->will($this->returnValue('reconstituted object'));
$objectSerializer->_set('objectsAsArray', $objectsAsArray);
$dataArray = ['key1' => [ObjectSerializer::TYPE => 'simple', ObjectSerializer::VALUE => 1], 'key2' => [ObjectSerializer::TYPE => 'persistenceObject', ObjectSerializer::VALUE => [ObjectSerializer::CLASSNAME => 'persistenceObjectClassName', 'UUID' => 'someUUID']]];
$expectedArrayProperty = ['key1' => 1, 'key2' => 'reconstituted object'];
$this->assertEquals($expectedArrayProperty, $objectSerializer->_call('reconstituteArray', $dataArray), 'The array was not reconstituted correctly.');
}