Пример #1
0
        public void Seek_SuccessiveCurrent_CorrectPosition()
        {
            // Arrange

            var stream = new MemoryReaderStream(TestBytes.AsMemory());

            // Act

            stream.Seek(20, SeekOrigin.Current);
            stream.Seek(20, SeekOrigin.Current);
            stream.Seek(-5, SeekOrigin.Current);

            // Assert

            Assert.Equal(35, stream.Position);
        }
Пример #2
0
        public void Seek_BeforeBeginning_ArgumentOutOfRange(int offset, SeekOrigin origin)
        {
            // Arrange

            var stream = new MemoryReaderStream(TestBytes.AsMemory());

            // Act/Assert

            Assert.Throws <ArgumentOutOfRangeException>(() => stream.Seek(offset, origin));
        }
Пример #3
0
        public void Seek_Offset_ExpectedPosition(int offset, SeekOrigin origin, int expectedPosition)
        {
            // Arrange

            var stream = new MemoryReaderStream(TestBytes.AsMemory());

            // Act

            stream.Seek(offset, origin);

            // Assert

            Assert.Equal(expectedPosition, stream.Position);
        }
Пример #4
0
        public void Seek_AfterEnd_EmptyRead(int offset, SeekOrigin origin)
        {
            // Arrange

            var stream = new MemoryReaderStream(TestBytes.AsMemory());

            // Act

            stream.Seek(offset, origin);


            var actual    = new byte[1];
            var readBytes = stream.Read(actual, 0, actual.Length);

            // Assert

            Assert.Equal(0, readBytes);
        }