public void Append() { XorLinkedList list = new XorLinkedList(new MonitoredUnmanagedMemory()); list.Append(1); list.Append(2); list.Append(3); Assert.Null(list.GetAt(-1)); Assert.Equal(1, list.GetAt(0)); Assert.Equal(2, list.GetAt(1)); Assert.Equal(3, list.GetAt(2)); Assert.Null(list.GetAt(3)); }
public void DeleteAll() { MonitoredUnmanagedMemory mem = new MonitoredUnmanagedMemory(); XorLinkedList list = new XorLinkedList(mem); list.Append(1); list.Append(2); list.Append(3); list.DeleteAll(); Assert.Empty(mem.currentAllocations); }
public void AllocationFreeing() { MonitoredUnmanagedMemory mem = new MonitoredUnmanagedMemory(); XorLinkedList list = new XorLinkedList(mem); list.Append(1); list.Append(2); list.Append(3); list.RemoveAt(0); Assert.Equal(2, mem.currentAllocations.Count); list.RemoveAt(0); Assert.Single(mem.currentAllocations); list.RemoveAt(0); Assert.Empty(mem.currentAllocations); }
public void GlobalSetup() { for (int index = 0; index < getAtDepth + 1; index++) { list.Append(index); } }
public void ResponsiveToGarbageCollection() { MonitoredUnmanagedMemory mem = new MonitoredUnmanagedMemory(); void innerScope() { XorLinkedList list = new XorLinkedList(mem); list.Append(1); list.Append(2); list.Append(3); Assert.Equal(3, mem.currentAllocations.Count); } innerScope(); GC.Collect(); GC.WaitForPendingFinalizers(); Assert.Empty(mem.currentAllocations); }