public void ValuesCountAndIndexCountCanBePersistedAndRestored() { c.InitFirstNode(); var node2 = c.AddNewNode(out int node2Index); node2.HasValue = true; node2.Value = 100; c.ReassignNode(ref node2, node2Index); var node3 = c.AddNewNode(out var node3Index); node3.HasValue = true; node3.Value = 200; c.ReassignNode(ref node3, node3Index); c.IncrementValuesCount(); c.IncrementValuesCount(); c.IncrementValuesCount(); c.DecrementValuesCount(); var expectedValuesCount = 2; var expectedNodeIndex = 3; var expectedFullSize = c.FileSizeBytes; c.Dispose(); var restoredContainer = new MemoryMappedNodeContainer <int>(c.FileName); Assert.Equal(expectedFullSize, c.FileSizeBytes); var actualValuesCount = restoredContainer.GetValuesCount(); var actualNodeIndex = restoredContainer.GetLastNodeIndex(); Assert.Equal(expectedValuesCount, actualValuesCount); Assert.Equal(expectedNodeIndex, actualNodeIndex); var actualNode2 = restoredContainer.Get(node2Index); var actualNode3 = restoredContainer.Get(node3Index); Assert.Equal(node2.HasValue, actualNode2.HasValue); Assert.Equal(node2.Value, actualNode2.Value); Assert.Equal(node3.HasValue, actualNode3.HasValue); Assert.Equal(node3.Value, actualNode3.Value); }
public MemoryMappedContainerTests() { c = new MemoryMappedNodeContainer <int>(RName(), 90000); }