public void ClearArrayOnReturnTrue() { byte[] buffer; using (var lease = new ArrayPoolLease <byte>(20, true)) { buffer = lease.Array; new Random().NextBytes(lease.Array); var sumBefore = buffer.Sum(value => value); Assert.NotEqual(0, sumBefore); } var sumAfter = buffer.Sum(value => value); Assert.Equal(0, sumAfter); }
public void MockPool() { const int length = 20; var buffer = new byte[length]; new Random().NextBytes(buffer); var moqPool = new Mock <ArrayPool <byte> >(MockBehavior.Strict); moqPool.Setup(_ => _.Rent(length)).Returns((int len) => buffer).Verifiable(); moqPool.Setup(_ => _.Return(buffer, false)).Verifiable(); var pool = moqPool.Object; using (var lease = new ArrayPoolLease <byte>(pool, length)) { Assert.Equal(length, lease.Count); Assert.Equal(buffer, lease.Array); } moqPool.Verify(); }