public void ExpiringList_FindAll_Returns_All_Matching_Items() { using (var list = new ExpiringList <string>(10, 10)) { list.Add("1a"); list.Add("1b"); list.Add("2a"); var matches = list.FindAll(r => r.StartsWith("1")); Assert.AreEqual(2, matches.Count); Assert.IsTrue(matches.Contains("1a")); Assert.IsTrue(matches.Contains("1b")); } }
public void ExpiringList_RefreshAll_Refreshes_All_Items() { using (var list = new ExpiringList <string>(10, 10)) { list.Add("1"); list.Add("2"); _Clock.AddMilliseconds(10); list.RefreshAll(); HeartbeatTick(); Assert.AreEqual(2, list.Count); } }
public void ExpiringList_SnapshotAndRefresh_Refreshes_Items() { using (var list = new ExpiringList <string>(10, 1)) { list.Add("1"); list.Add("2"); _Clock.AddMilliseconds(10); var snapshot = list.SnapshotAndRefresh(); HeartbeatTick(); Assert.AreEqual(2, list.Count); Assert.AreEqual(2, snapshot.Length); Assert.IsTrue(snapshot.Contains("1")); Assert.IsTrue(snapshot.Contains("2")); } }
public void ExpiringList_FindAllAndRefresh_Refreshes_Matching_Items() { using (var list = new ExpiringList <string>(10, 10)) { list.Add("1a"); list.Add("1b"); list.Add("2a"); _Clock.AddMilliseconds(10); var matches = list.FindAllAndRefresh(r => r.StartsWith("1")); Assert.AreEqual(2, matches.Count); Assert.IsTrue(matches.Contains("1a")); Assert.IsTrue(matches.Contains("1b")); HeartbeatTick(); Assert.AreEqual(2, list.Count); } }
public void ExpiringList_Will_Check_Items_For_Expiry_After_MillisecondsBetweenChecks_Has_Passed() { using (var list = new ExpiringList <string>(1, 10)) { list.Add("Hello"); HeartbeatTick(); _Clock.AddMilliseconds(11); HeartbeatTick(); Assert.AreEqual(0, list.Count); } }
public void ExpiringList_Snapshot_Does_Not_Refresh_Items() { using (var list = new ExpiringList <string>(10, 1)) { list.Add("1"); _Clock.AddMilliseconds(10); list.Snapshot(); HeartbeatTick(); Assert.AreEqual(0, list.Count); } }
public void ExpiringList_FindAll_Does_Not_Refresh_Matching_Items() { using (var list = new ExpiringList <string>(10, 10)) { list.Add("1"); _Clock.AddMilliseconds(10); Assert.AreEqual(1, list.FindAll(r => r == "1").Count); HeartbeatTick(); Assert.AreEqual(0, list.Count); } }
public void ExpiringList_FindAndRefresh_Returns_First_Matching_Item_After_Refreshing_It() { using (var list = new ExpiringList <string>(10, 10)) { list.Add("1"); _Clock.AddMilliseconds(10); Assert.AreEqual("1", list.FindAndRefresh(r => r == "1")); HeartbeatTick(); Assert.AreEqual(1, list.Count); } }
public void ExpiringList_Will_Expire_Items_After_ExpireMilliseconds_Has_Passed() { using (var list = new ExpiringList <string>(10, 1)) { list.Add("Hello"); HeartbeatTick(); _Clock.AddMilliseconds(11); HeartbeatTick(); Assert.AreEqual(0, list.Count); } }
public void ExpiringList_Count_Returns_Count_Of_Items() { _List.Add("1"); Assert.AreEqual(1, _List.Count); _List.Add("1"); Assert.AreEqual(2, _List.Count); }