public function testImportingStreamProducesCorrectCharArray()
{
$reader = $this->_getReader();
$factory = $this->_getFactory($reader);
$os = $this->_getByteStream();
$stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8');
$seq = $this->_mockery()->sequence('read-stream');
$this->_checking(Expectations::create()->between(0, 1)->of($os)->setReadPointer(0)->one($os)->read(any())->inSequence($seq)->returns(pack('C*', 0xd0))->one($os)->read(any())->inSequence($seq)->returns(pack('C*', 0x94))->one($os)->read(any())->inSequence($seq)->returns(pack('C*', 0xd0))->one($os)->read(any())->inSequence($seq)->returns(pack('C*', 0xb6))->one($os)->read(any())->inSequence($seq)->returns(pack('C*', 0xd0))->one($os)->read(any())->inSequence($seq)->returns(pack('C*', 0xbe))->ignoring($os)->read(any())->returns(false));
$seq = $this->_mockery()->sequence('read-chars');
$this->_checking(Expectations::create()->ignoring($reader)->getInitialByteSize()->returns(1)->one($reader)->validateByteSequence(array(0xd0), 1)->inSequence($seq)->returns(1)->one($reader)->validateByteSequence(array(0xd0), 1)->inSequence($seq)->returns(1)->one($reader)->validateByteSequence(array(0xd0), 1)->inSequence($seq)->returns(1));
$stream->importByteStream($os);
$this->assertIdenticalBinary(pack('C*', 0xd0, 0x94), $stream->read(1));
$this->assertIdenticalBinary(pack('C*', 0xd0, 0xb6), $stream->read(1));
$this->assertIdenticalBinary(pack('C*', 0xd0, 0xbe), $stream->read(1));
$this->assertIdentical(false, $stream->read(1));
}