private function extractExportedStreams($filter, StreamOperatingFilterContext $filterContext) { if (property_exists($filter, 'extract') && is_object($filter->extract)) { foreach ($filter->extract as $innerId => $outerId) { $this->streamHolder->setStream($outerId, $filterContext->getStream($innerId)); } } }
/** * @dataProvider dataProvider */ public function testStreamedFilterContext($data) { $context = new StreamedFilterContext(); $this->assertFalse($context->isRegistered(TEST)); $context->setData(TEST, $data); $this->assertTrue($context->isRegistered(TEST)); $storedData = $context->getData(TEST); $this->assertSame($data, $storedData); $stream = $context->getStream(TEST); $this->assertSame($data, $stream->getData()); // new stream must be created when setting data at the same ID $context->setData(TEST, $data); $this->assertNotSame($stream, $context->getStream(TEST)); $context->setStream(TEST, $stream); $this->assertSame($stream, $context->getStream(TEST)); }