public static void TestOrderedGuidCache_Remove_LeavesMostRecentlyAccessedItems() { var cache = new OrderedGuidCache(); var guidRemoved1 = Guid.NewGuid(); var guidRemoved2 = Guid.NewGuid(); var guidStays1 = Guid.NewGuid(); var guidStays2 = Guid.NewGuid(); var guidStays3 = Guid.NewGuid(); cache.TryAdd(guidStays1, 2); Thread.Sleep(100); cache.TryAdd(guidStays2, 2); Thread.Sleep(100); cache.TryAdd(guidRemoved1, 2); Thread.Sleep(100); cache.TryAdd(guidRemoved2, 2); Thread.Sleep(100); cache.TryAdd(guidStays3, 2); Thread.Sleep(100); // Touch the timestamps cache.Contains(guidStays1); Thread.Sleep(100); cache.Contains(guidStays3); Thread.Sleep(100); cache.ItemsWithPrefix(guidStays2.ToString("N").Substring(0, 3)); Thread.Sleep(100); cache.Remove(3, out var sizeCleared); Assert.True(cache.Contains(guidStays1)); Assert.True(cache.Contains(guidStays2)); Assert.True(cache.Contains(guidStays3)); }
public static void TestOrderedGuidCache_Contains_DoesntFindUnknown() { var cache = new OrderedGuidCache(); cache.TryAdd(Guid.NewGuid(), 0); Assert.False(cache.Contains(Guid.NewGuid())); }
public static void TestOrderedGuidCache_Contains_FindsKnown() { var cache = new OrderedGuidCache(); var guid = Guid.NewGuid(); cache.TryAdd(Guid.NewGuid(), 1); cache.TryAdd(guid, 2); cache.TryAdd(Guid.NewGuid(), 3); Assert.True(cache.Contains(guid)); }
public static void TestOrderedGuidCache_Contains_DoesntFindRemovedItem() { var cache = new OrderedGuidCache(); var guid = Guid.NewGuid(); cache.TryAdd(Guid.NewGuid(), 1); cache.TryAdd(guid, 2); cache.TryAdd(Guid.NewGuid(), 3); cache.TryRemove(guid); Assert.False(cache.Contains(guid)); }
public static void TestOrderedGuidCache_TryRemove_DoesRemoveKnown() { var cache = new OrderedGuidCache(); var guid = Guid.NewGuid(); cache.TryAdd(Guid.NewGuid(), 1); cache.TryAdd(guid, 2); cache.TryAdd(Guid.NewGuid(), 3); Assert.True(cache.TryRemove(guid)); Assert.AreEqual(2, cache.Count); Assert.False(cache.Contains(guid)); }