public function testAddSerializer() { $deserializer = new DispatchingDeserializer(array()); $subDeserializer = $this->getMock('Deserializers\\DispatchableDeserializer'); $subDeserializer->expects($this->any())->method('isDeserializerFor')->will($this->returnValue(true)); $subDeserializer->expects($this->any())->method('deserialize')->will($this->returnValue(42)); $deserializer->addDeserializer($subDeserializer); $this->assertEquals(42, $deserializer->deserialize(null)); }
private function extractEntities(array $entries) { $entities = array(); foreach ($entries as $entry) { foreach ($entry as $entityId => $serialization) { if (array_key_exists('missing', $serialization)) { continue; } else { if ($this->deserializer->isDeserializerFor($serialization)) { $entities[$entityId] = $this->deserializer->deserialize($serialization); } } } } return $entities; }