public function testCanDeserialize() { $subDeserializer = $this->getMock('Deserializers\\DispatchableDeserializer'); $subDeserializer->expects($this->exactly(4))->method('isDeserializerFor')->will($this->returnCallback(function ($value) { return $value > 9000; })); $serializer = new DispatchingDeserializer(array($subDeserializer)); $this->assertFalse($serializer->isDeserializerFor(0)); $this->assertFalse($serializer->isDeserializerFor(42)); $this->assertTrue($serializer->isDeserializerFor(9001)); $this->assertTrue($serializer->isDeserializerFor(31337)); }
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; }