public function reconstituteSplObjectStorageWorks()
{
$mockObject1 = new \stdClass();
$mockObject2 = new \stdClass();
$objectsAsArray = ['some object' => ['object1 data'], 'some other object' => ['object2 data']];
$objectSerializer = $this->getAccessibleMock(ObjectSerializer::class, ['reconstituteObject'], [], '', false);
$objectSerializer->expects($this->at(0))->method('reconstituteObject')->with('some object', ['object1 data'])->will($this->returnValue($mockObject1));
$objectSerializer->expects($this->at(1))->method('reconstituteObject')->with('some other object', ['object2 data'])->will($this->returnValue($mockObject2));
$objectSerializer->_set('objectsAsArray', $objectsAsArray);
$dataArray = ['some object', 'some other object'];
$expectedResult = new \SplObjectStorage();
$expectedResult->attach($mockObject1);
$expectedResult->attach($mockObject2);
$this->assertEquals($expectedResult, $objectSerializer->_call('reconstituteSplObjectStorage', $dataArray), 'The SplObjectStorage was not reconstituted correctly.');
}