public function testSnapshotIsTaken() { $spContainer = new SnapshotContainer($this->mockUnitOfWork()); $graph = $this->getMockedGraph('foo:Bar', 'foo:uri:12345', array()); $res = $this->getMockedResource('Foo\\Bar', 'foo:uri:12345', $graph); $spContainer->takeSnapshot($res); $ro = $spContainer->getSnapshot($res); $this->assertEquals($ro->getUri(), $res->getUri()); $remove = $spContainer->removeSnapshot($res); $this->assertTrue($remove); $ro = $spContainer->getSnapshot($res); $this->assertNull($ro); }
/** * Extracts snapshot for resource. * * @param $resource * * @return array */ private function getSnapshotForResource(\Traversable $resources, $array = array()) { $snapshot = array(); foreach ($resources as $resource) { $snap = $this->initialSnapshots->getSnapshot($resource); if ($snap) { $bigSnapshot = $snap->getGraph()->toRdfPhp(); $snapshot[$resource->getUri()] = $bigSnapshot[$resource->getUri()]; //getting snapshots also for blank nodes if (!empty($bigSnapshot)) { foreach ($bigSnapshot[$resource->getUri()] as $property => $values) { return $bigSnapshot; foreach ($values as $value) { $array[] = $value['value']; // if ((!$this->isManagementBlackListed($value['value'])) && $value['type'] === 'bnode' && isset($bigSnapshot[$value['value']])) { // $snapshot[$value['value']] = $bigSnapshot[$value['value']]; // } } } } return $array; } } return $snapshot; }