public function testApiRead_ReadsDataCorrectly()
{
$stream = $this->createStreamMock();
$resource = $stream->getResource();
$expectedData = "foobar\n";
$capturedData = null;
$capturedOrigin = null;
$stream->on('data', function ($origin, $data) use(&$capturedOrigin, &$capturedData) {
$capturedOrigin = $origin;
$capturedData = $data;
});
fwrite($resource, $expectedData);
rewind($resource);
$this->assertSame($expectedData, $stream->read());
$this->assertSame($expectedData, $capturedData);
$this->assertSame($stream, $capturedOrigin);
}