コード例 #1
0
		public async Task TestSkipAsync_Ext8_Zero()
		{
			var binary = new byte[] { 0xC7 }.Concat( new byte[] { 0x0 } ).Concat( new byte[] { 0x7F } ).Concat( new byte[] { 0xC2 } ).ToArray();
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, PackerUnpackerStreamOptions.None ) )
			{
				var result = await target.SkipAsync();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}
コード例 #2
0
		public async Task TestSkipAsync_Ext32_Max()
		{
			var binary = new byte[] { 0xC9 }.Concat( BitConverter.GetBytes( ( uint )0x10001 ).Reverse() ).Concat( new byte[] { 0x7F } ).Concat( Enumerable.Repeat( 0x41, 0x10001 ).Select( i => ( byte )i ) ).Concat( new byte[] { 0xC2 } ).ToArray();
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, PackerUnpackerStreamOptions.None ) )
			{
				var result = await target.SkipAsync();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}
コード例 #3
0
		public async Task TestSkipAsync_FixExt16()
		{
			var binary = new byte[]{ 0xD8, 0x7F, 0x10, 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0xC2 };
			using ( var buffer = new MemoryStream( binary ) )
			using ( var target = new ItemsUnpacker( buffer, PackerUnpackerStreamOptions.None ) )
			{
				var result = await target.SkipAsync();
				Assert.That( result, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				Assert.That( buffer.Position, Is.EqualTo( binary.Length - 1 /* minus centinel byte */ ) );
				// Verify centinel value still exists in the stream.
				Assert.That( buffer.ReadByte(), Is.EqualTo( 0xC2 ) );
			}
		}