public void TestBorrow() { Random random = new Random(); var target = new AdHocPseudoBufferPool( 4 ); for ( int i = 0; i < 10000; i++ ) { int length = random.Next( 1, 256 ); using ( var result = target.Borrow( length ) ) { Assert.NotNull( result ); Assert.AreEqual( length, result.Sum( item => item.Count ) ); result.Fill( Enumerable.Range( 1, length ).Select( item => ( byte )( item % 256 ) ) ); CollectionAssert.AreEqual( Enumerable.Range( 1, length ).Select( item => ( byte )( item % 256 ) ), result.ReadAll() ); target.Return( result ); } } }