public void DisposeThenGetCountThrows() { Assert.Throws <ObjectDisposedException>(() => { var lease = new ArrayLease <byte>(new byte[20]); lease.Dispose(); return(lease.Count); }); }
public void Offset() { var buffer = new byte[1024]; using (var lease = new ArrayLease <byte>(buffer, 30)) { var segment = lease.Segment(10, 20); Assert.Equal(10, segment.Offset); Assert.Equal(20, segment.Count); Assert.Same(buffer, segment.Array); } }
public void SetCountEqualToArray() { var buffer = new byte[1024]; new Random().NextBytes(buffer); using (var lease = new ArrayLease <byte>(buffer, 20)) { Assert.Equal(20, lease.Count); lease.Count = buffer.Length; Assert.Equal(buffer.Length, lease.Count); } }
public void SetCountLessThanArray() { var buffer = new byte[1024]; new Random().NextBytes(buffer); using (var lease = new ArrayLease <byte>(buffer, 20)) { Assert.Equal(20, lease.Count); lease.Count = 40; Assert.Equal(40, lease.Count); } }
public void ArrayIsIdentical() { var buffer = new byte[1024]; new Random().NextBytes(buffer); var copy = new byte[buffer.Length]; Buffer.BlockCopy(buffer, 0, copy, 0, buffer.Length); using (var lease = new ArrayLease <byte>(buffer)) { Assert.Equal(copy, lease.Array); } }