Exemplo n.º 1
0
		public void TestEnumerateSingleChunkWithFeeding()
		{
			bool feeded = false;
			using ( var buffer = ChunkBuffer.CreateDefault() )
			{
				buffer.Feed( Enumerable.Range( 1, 2 ).Select( item => ( byte )item ).ToArray() );
				using ( var target =
					new RpcInputBuffer<object, object>(
						buffer,
						( _0, _1, _2 ) => ChunkBuffer.CreateDefault(),
						( _0, _1, _2 ) =>
						{
							if ( feeded )
							{
								return default( BufferFeeding );
							}

							feeded = true;
							buffer.Feed( Enumerable.Range( 3, 4 ).Select( item => ( byte )item ).ToArray() );
							return new BufferFeeding( 4 );
						},
						null
				) )
				{
					CollectionAssert.AreEqual( Enumerable.Range( 1, 6 ).ToArray(), target.ToArray() );
				}
			}
		}
Exemplo n.º 2
0
		public void TestEnumerateSingleChunk()
		{
			using ( var buffer = ChunkBuffer.CreateDefault() )
			{
				var expected = Enumerable.Range( 1, 2 ).Select( item => ( byte )item ).ToArray();
				buffer.Feed( expected.ToArray() );
				using ( var target = new RpcInputBuffer<object, object>( buffer, ( _0, _1, _2 ) => ChunkBuffer.CreateDefault(), ( _0, _1, _2 ) => default( BufferFeeding ), null ) )
				{
					CollectionAssert.AreEqual( expected, target.ToArray() );
				}
			}
		}