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 TestInitialise() { _OriginalFactory = Factory.TakeSnapshot(); _Clock = new ClockMock(); Factory.Singleton.RegisterInstance <IClock>(_Clock.Object); _HeartbeatService = TestUtilities.CreateMockSingleton <IHeartbeatService>(); _List = new ExpiringList <string>(200, 100); _CountChangedCallCount = 0; _List.CountChangedDelegate = CountChangedHandler; }
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_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_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_AddRangeOrRefresh_Adds_Or_Refreshes_A_Range_Of_Items() { using (var list = new ExpiringList <string>(10, 10)) { list.AddRange(new string[] { "1", "2" }); HeartbeatTick(); _Clock.AddMilliseconds(10); list.AddRange(new string[] { "2", "3" }); HeartbeatTick(); Assert.AreEqual(2, list.Count); Assert.AreEqual(null, list.Find(r => r == "1")); Assert.AreEqual("2", list.Find(r => r == "2")); Assert.AreEqual("3", list.Find(r => r == "3")); } }
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); } }