public void TestSeek_Current()
        {
            using (var target = new ByteArraySegmentStream(CreateData()))
            {
                Assert.That(target.Position, Is.EqualTo(0));
                Assert.That(target.ReadByte(), Is.EqualTo(12));
                target.Seek(0, SeekOrigin.Current);
                Assert.That(target.Position, Is.EqualTo(1));
                Assert.That(target.ReadByte(), Is.EqualTo(13));

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

                target.Seek(-1, SeekOrigin.Current);
                Assert.That(target.ReadByte(), Is.EqualTo(34));
                target.Seek(-3, SeekOrigin.Current);
                Assert.That(target.ReadByte(), Is.EqualTo(32));
                target.Seek(-2, SeekOrigin.Current);
                Assert.That(target.ReadByte(), Is.EqualTo(24));
                target.Seek(-6, SeekOrigin.Current);
                Assert.That(target.ReadByte(), Is.EqualTo(12));

                target.Seek(target.Length - 2, SeekOrigin.Current);
                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));
            }
        }
예제 #2
0
		public void TestReadByte()
		{
			using ( var target = new ByteArraySegmentStream( CreateData() ) )
			{
				List<byte> result = new List<byte>();
				for ( int b = target.ReadByte(); 0 < b; b = target.ReadByte() )
				{
					result.Add( ( byte )b );
				}

				Assert.That( result, Is.EqualTo( new byte[] { 12, 13, 14, 22, 23, 24, 32, 33, 34 } ) );
			}
		}
        public void TestReadByte()
        {
            using (var target = new ByteArraySegmentStream(CreateData()))
            {
                List <byte> result = new List <byte>();
                for (int b = target.ReadByte(); 0 < b; b = target.ReadByte())
                {
                    result.Add(( byte )b);
                }

                Assert.That(result, Is.EqualTo(new byte[] { 12, 13, 14, 22, 23, 24, 32, 33, 34 }));
            }
        }
        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));
            }
        }
        public void TestPosition()
        {
            using (var target = new ByteArraySegmentStream(CreateData()))
            {
                Assert.That(target.Position, Is.EqualTo(0));
                Assert.That(target.ReadByte(), Is.EqualTo(12));
                target.Position = 0;
                Assert.That(target.Position, Is.EqualTo(0));
                Assert.That(target.ReadByte(), Is.EqualTo(12));

                target.Position = target.Length;
                Assert.That(target.ReadByte(), Is.EqualTo(-1));
                Assert.That(target.Position, Is.EqualTo(target.Length));

                target.Position = 3;
                Assert.That(target.ReadByte(), Is.EqualTo(22));
                target.Position = 2;
                Assert.That(target.ReadByte(), Is.EqualTo(14));

                target.Position = target.Length - 1;
                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));
            }
        }
예제 #6
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 ) );
			}
		}
예제 #7
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 ) );
			}
		}
예제 #8
0
		public void TestPosition()
		{
			using ( var target = new ByteArraySegmentStream( CreateData() ) )
			{
				Assert.That( target.Position, Is.EqualTo( 0 ) );
				Assert.That( target.ReadByte(), Is.EqualTo( 12 ) );
				target.Position = 0;
				Assert.That( target.Position, Is.EqualTo( 0 ) );
				Assert.That( target.ReadByte(), Is.EqualTo( 12 ) );

				target.Position = target.Length;
				Assert.That( target.ReadByte(), Is.EqualTo( -1 ) );
				Assert.That( target.Position, Is.EqualTo( target.Length ) );

				target.Position = 3;
				Assert.That( target.ReadByte(), Is.EqualTo( 22 ) );
				target.Position = 2;
				Assert.That( target.ReadByte(), Is.EqualTo( 14 ) );

				target.Position = target.Length - 1;
				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 ) );
			}
		}