/** * @dataProvider dataProvider */ public function testWiringFilterContext($data) { $context = new WiringFilterContext(); $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()); // Data should be written to the same stream $context->setData(TEST, $data); $this->assertSame($stream, $context->getStream(TEST)); $stream2 = new MutableStream($data); $context->setStream(TEST, $stream2); $this->assertSame($stream2, $context->getStream(TEST)); $this->assertNotSame($stream, $context->getStream(TEST)); }
public function testFilterOperationInWiringContext() { $context = new WiringFilterContext(); $context->setData('IN1', 'testing'); $context->setData('IN2', 'Testing'); $stream1Before = $context->getStream('IN1'); $stream2Before = $context->getStream('IN2'); $filter = new FixtureFilter($context, array("suffix" => "123")); $filter->process(); $this->assertEquals('testing', $context->getData('IN1')); $this->assertEquals('testing', $context->getStream('IN1')->getData()); $this->assertEquals('Testing_testing', $context->getData('IN2')); $this->assertEquals('Testing_testing', $context->getStream('IN2')->getData()); $this->assertEquals('testing_Testing_123', $context->getData('OUT')); $this->assertEquals('testing_Testing_123', $context->getStream('OUT')->getData()); $this->assertSame($stream1Before, $context->getStream('IN1')); $this->assertSame($stream2Before, $context->getStream('IN2')); // even though data changed, the stream is same }