Пример #1
0
        public void CanSeekFromTheCurrentStreamPosition()
        {
            var stream = new ReadOnlyByteBufferStream(this.testBuffer, false);

            long position = stream.Seek(0, SeekOrigin.Current);

            Assert.Equal(0, position);
            Assert.Equal(position, stream.Position);

            position = stream.Seek(2, SeekOrigin.Current);
            Assert.Equal(2, position);
            Assert.Equal(position, stream.Position);

            int relativeEnd = this.testBuffer.WriterIndex - (int)position;

            position = stream.Seek(relativeEnd, SeekOrigin.Current);
            Assert.Equal(this.testBuffer.WriterIndex, position);
            Assert.Equal(position, stream.Position);
        }
Пример #2
0
        public void CanSeekFromTheBeginningOfTheStream()
        {
            var stream = new ReadOnlyByteBufferStream(this.testBuffer, false);

            stream.Position = this.testBuffer.WriterIndex / 2; // ensure seek calcs don't depend on read pos

            long position = stream.Seek(0, SeekOrigin.Begin);

            Assert.Equal(0, position);
            Assert.Equal(position, stream.Position);

            position = stream.Seek(2, SeekOrigin.Begin);
            Assert.Equal(2, position);
            Assert.Equal(position, stream.Position);

            position = stream.Seek(this.testBuffer.WriterIndex, SeekOrigin.Begin);
            Assert.Equal(this.testBuffer.WriterIndex, position);
            Assert.Equal(position, stream.Position);
        }
Пример #3
0
        public void StreamIsSeekable()
        {
            var stream = new ReadOnlyByteBufferStream(this.testBuffer, false);

            Assert.True(stream.CanSeek);
        }
Пример #4
0
        public void CannotSetThePositionPastTheEndOfTheBuffer()
        {
            var stream = new ReadOnlyByteBufferStream(this.testBuffer, false);

            Assert.Throws <IndexOutOfRangeException>(() => stream.Position = this.testBuffer.WriterIndex + 1);
        }
Пример #5
0
        public void CanGetTheStreamLength()
        {
            var stream = new ReadOnlyByteBufferStream(this.testBuffer, false);

            Assert.Equal(this.testBuffer.WriterIndex, stream.Length);
        }