public void TestSeek_End()
        {
            using (var target = new ByteArraySegmentStream(CreateData()))
            {
                Assert.That(target.Position, Is.EqualTo(0));
                Assert.That(target.ReadByte(), Is.EqualTo(12));
                target.Seek(-target.Length, SeekOrigin.End);
                Assert.That(target.Position, Is.EqualTo(0));
                Assert.That(target.ReadByte(), Is.EqualTo(12));

                target.Seek(0, SeekOrigin.End);
                Assert.That(target.ReadByte(), Is.EqualTo(-1));
                Assert.That(target.Position, Is.EqualTo(target.Length));

                target.Seek(-4, SeekOrigin.End);
                Assert.That(target.ReadByte(), Is.EqualTo(24));
                target.Seek(-3, SeekOrigin.End);
                Assert.That(target.ReadByte(), Is.EqualTo(32));

                target.Seek(-1, SeekOrigin.End);
                Assert.That(target.ReadByte(), Is.EqualTo(34));
                Assert.That(target.Position, Is.EqualTo(target.Length));
                Assert.That(target.ReadByte(), Is.EqualTo(-1));
                Assert.That(target.Position, Is.EqualTo(target.Length));
            }
        }
        public void TestSeek_Begin()
        {
            using (var target = new ByteArraySegmentStream(CreateData()))
            {
                Assert.That(target.Position, Is.EqualTo(0));
                Assert.That(target.ReadByte(), Is.EqualTo(12));
                target.Seek(0, SeekOrigin.Begin);
                Assert.That(target.Position, Is.EqualTo(0));
                Assert.That(target.ReadByte(), Is.EqualTo(12));

                target.Seek(target.Length, SeekOrigin.Begin);
                Assert.That(target.ReadByte(), Is.EqualTo(-1));
                Assert.That(target.Position, Is.EqualTo(target.Length));

                target.Seek(3, SeekOrigin.Begin);
                Assert.That(target.ReadByte(), Is.EqualTo(22));
                target.Seek(2, SeekOrigin.Begin);
                Assert.That(target.ReadByte(), Is.EqualTo(14));

                target.Seek(target.Length - 1, SeekOrigin.Begin);
                Assert.That(target.ReadByte(), Is.EqualTo(34));
                Assert.That(target.Position, Is.EqualTo(target.Length));
                Assert.That(target.ReadByte(), Is.EqualTo(-1));
                Assert.That(target.Position, Is.EqualTo(target.Length));
            }
        }
예제 #3
0
		public void TestSeek_End()
		{
			using ( var target = new ByteArraySegmentStream( CreateData() ) )
			{
				Assert.That( target.Position, Is.EqualTo( 0 ) );
				Assert.That( target.ReadByte(), Is.EqualTo( 12 ) );
				target.Seek( -target.Length, SeekOrigin.End );
				Assert.That( target.Position, Is.EqualTo( 0 ) );
				Assert.That( target.ReadByte(), Is.EqualTo( 12 ) );

				target.Seek( 0, SeekOrigin.End );
				Assert.That( target.ReadByte(), Is.EqualTo( -1 ) );
				Assert.That( target.Position, Is.EqualTo( target.Length ) );

				target.Seek( -4, SeekOrigin.End );
				Assert.That( target.ReadByte(), Is.EqualTo( 24 ) );
				target.Seek( -3, SeekOrigin.End );
				Assert.That( target.ReadByte(), Is.EqualTo( 32 ) );

				target.Seek( -1, SeekOrigin.End );
				Assert.That( target.ReadByte(), Is.EqualTo( 34 ) );
				Assert.That( target.Position, Is.EqualTo( target.Length ) );
				Assert.That( target.ReadByte(), Is.EqualTo( -1 ) );
				Assert.That( target.Position, Is.EqualTo( target.Length ) );
			}
		}
예제 #4
0
		public void TestSeek_Begin()
		{
			using ( var target = new ByteArraySegmentStream( CreateData() ) )
			{
				Assert.That( target.Position, Is.EqualTo( 0 ) );
				Assert.That( target.ReadByte(), Is.EqualTo( 12 ) );
				target.Seek( 0, SeekOrigin.Begin );
				Assert.That( target.Position, Is.EqualTo( 0 ) );
				Assert.That( target.ReadByte(), Is.EqualTo( 12 ) );

				target.Seek( target.Length, SeekOrigin.Begin );
				Assert.That( target.ReadByte(), Is.EqualTo( -1 ) );
				Assert.That( target.Position, Is.EqualTo( target.Length ) );

				target.Seek( 3, SeekOrigin.Begin );
				Assert.That( target.ReadByte(), Is.EqualTo( 22 ) );
				target.Seek( 2, SeekOrigin.Begin );
				Assert.That( target.ReadByte(), Is.EqualTo( 14 ) );

				target.Seek( target.Length - 1, SeekOrigin.Begin );
				Assert.That( target.ReadByte(), Is.EqualTo( 34 ) );
				Assert.That( target.Position, Is.EqualTo( target.Length ) );
				Assert.That( target.ReadByte(), Is.EqualTo( -1 ) );
				Assert.That( target.Position, Is.EqualTo( target.Length ) );
			}
		}