Example #1
0
        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"));
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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"));
            }
        }
Example #4
0
        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);
            }
        }
Example #5
0
        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);
            }
        }
Example #6
0
        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);
            }
        }
Example #7
0
        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);
            }
        }
Example #8
0
        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);
            }
        }
Example #9
0
        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);
            }
        }
Example #10
0
        public void ExpiringList_Count_Returns_Count_Of_Items()
        {
            _List.Add("1");
            Assert.AreEqual(1, _List.Count);

            _List.Add("1");
            Assert.AreEqual(2, _List.Count);
        }