/** * Validate that a resource can be set against the collection for hydration. * * @test */ public function validateCollectionHydrationResource() { $collection = new ResourceCollection(); $this->assertNull($collection->getHydrationResource()); /** @var MockObject|TransportableInterface $transport */ $transport = $this->getMock(TransportableInterface::class); $this->assertEquals($collection, $collection->setHydrationResource($transport)); $this->assertEquals($transport, $collection->getHydrationResource()); }
/** * @param ResourceCollection $collection * @param array $data * @return ResourceCollection */ protected function hydrateCollection(ResourceCollection $collection, array $data) { foreach ($data['data'] as $resourceData) { $instance = clone $collection->getHydrationResource(); // if (!isset($resourceData[self::KEY_RECURSION])) { $instance = $this->hydrateResource($instance, $resourceData); // } $collection->add($instance); } return $collection; }