public void NothingIsAllocatedIfDataIsEmpty() { var memory = new UnmanagedMemoryChunk { Data = new byte[0] }; Assert.AreEqual(IntPtr.Zero, memory.Memory); }
public void DataIsAllocatedInUnmanagedMemory() { var data = new byte[100]; new Random().NextBytes(data); using (var memory = new UnmanagedMemoryChunk { Data = data }) { Assert.AreEqual(100, memory.Size); } }
public void SecondDataAssignmentFreesPreviousMemory() { var firstData = new byte[100]; var secondData = new byte[200]; new Random().NextBytes(firstData); new Random().NextBytes(secondData); using (var memory = new UnmanagedMemoryChunk()) { memory.Data = firstData; memory.Data = secondData; Assert.AreEqual(200, memory.Size); } }
public void DataIsDeallocatedAfterObjectIsDisposed() { var data = new byte[100]; new Random().NextBytes(data); UnmanagedMemoryChunk memory; using (memory = new UnmanagedMemoryChunk { Data = data }) { } Assert.AreEqual(IntPtr.Zero, memory.Memory); }
public void NoMemoryIsAllocatedByDefault() { var memory = new UnmanagedMemoryChunk(); Assert.AreEqual(IntPtr.Zero, memory.Memory); }