public void TestRead() { using ( var target = new ByteArraySegmentStream( CreateData() ) ) { byte[] buffer = new byte[ 2 ]; Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 2 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 12, 13 } ) ); Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 2 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 14, 22 } ) ); Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 2 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 23, 24 } ) ); Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 2 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 32, 33 } ) ); Array.Clear( buffer, 0, buffer.Length ); Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 1 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 34, 0 } ) ); Array.Clear( buffer, 0, buffer.Length ); Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 0 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 0, 0 } ) ); } using ( var target = new ByteArraySegmentStream( CreateData() ) ) { byte[] buffer = new byte[ 3 ]; Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 3 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 12, 13, 14 } ) ); Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 3 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 22, 23, 24 } ) ); Array.Clear( buffer, 0, buffer.Length ); Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 3 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 32, 33, 34 } ) ); Array.Clear( buffer, 0, buffer.Length ); Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 0 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 0, 0, 0 } ) ); } using ( var target = new ByteArraySegmentStream( CreateData() ) ) { byte[] buffer = new byte[ 4 ]; Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 4 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 12, 13, 14, 22 } ) ); Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 4 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 23, 24, 32, 33 } ) ); Array.Clear( buffer, 0, buffer.Length ); Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 1 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 34, 0, 0, 0 } ) ); Array.Clear( buffer, 0, buffer.Length ); Assert.That( target.Read( buffer, 0, buffer.Length ), Is.EqualTo( 0 ) ); Assert.That( buffer, Is.EqualTo( new byte[] { 0, 0, 0, 0 } ) ); } }
public void TestRead() { using (var target = new ByteArraySegmentStream(CreateData())) { byte[] buffer = new byte[2]; Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(2)); Assert.That(buffer, Is.EqualTo(new byte[] { 12, 13 })); Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(2)); Assert.That(buffer, Is.EqualTo(new byte[] { 14, 22 })); Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(2)); Assert.That(buffer, Is.EqualTo(new byte[] { 23, 24 })); Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(2)); Assert.That(buffer, Is.EqualTo(new byte[] { 32, 33 })); Array.Clear(buffer, 0, buffer.Length); Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(1)); Assert.That(buffer, Is.EqualTo(new byte[] { 34, 0 })); Array.Clear(buffer, 0, buffer.Length); Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(0)); Assert.That(buffer, Is.EqualTo(new byte[] { 0, 0 })); } using (var target = new ByteArraySegmentStream(CreateData())) { byte[] buffer = new byte[3]; Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(3)); Assert.That(buffer, Is.EqualTo(new byte[] { 12, 13, 14 })); Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(3)); Assert.That(buffer, Is.EqualTo(new byte[] { 22, 23, 24 })); Array.Clear(buffer, 0, buffer.Length); Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(3)); Assert.That(buffer, Is.EqualTo(new byte[] { 32, 33, 34 })); Array.Clear(buffer, 0, buffer.Length); Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(0)); Assert.That(buffer, Is.EqualTo(new byte[] { 0, 0, 0 })); } using (var target = new ByteArraySegmentStream(CreateData())) { byte[] buffer = new byte[4]; Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(4)); Assert.That(buffer, Is.EqualTo(new byte[] { 12, 13, 14, 22 })); Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(4)); Assert.That(buffer, Is.EqualTo(new byte[] { 23, 24, 32, 33 })); Array.Clear(buffer, 0, buffer.Length); Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(1)); Assert.That(buffer, Is.EqualTo(new byte[] { 34, 0, 0, 0 })); Array.Clear(buffer, 0, buffer.Length); Assert.That(target.Read(buffer, 0, buffer.Length), Is.EqualTo(0)); Assert.That(buffer, Is.EqualTo(new byte[] { 0, 0, 0, 0 })); } }