Beispiel #1
0
        public void ContainsKey_CanDetectValid()
        {
            var cache = new TimedCache<string>("test3", 10, 10);
            cache.Add("newkey", "something");

            Assert.IsTrue(cache.ContainsKey("newkey"));
        }
Beispiel #2
0
        public void Add_CanAdd()
        {
            var cache = new TimedCache<string>("test1", 10, 10);
            cache.Add("newkey", "something");

            var retreive = cache["newkey"];
            Assert.AreEqual("something", retreive);
        }
Beispiel #3
0
        public void ContainsKey_CanDetectInValid()
        {
            var cache = new TimedCache <string>("test4", 10, 10);

            cache.Add("newkey", "something");

            Assert.IsFalse(cache.ContainsKey("wrongkey"));
        }
Beispiel #4
0
        public void Add_CanAdd()
        {
            var cache = new TimedCache <string>("test1", 10, 10);

            cache.Add("newkey", "something");

            var retreive = cache["newkey"];

            Assert.AreEqual("something", retreive);
        }
Beispiel #5
0
        public void Item_CanReturnNullIfNotFound()
        {
            var cache = new TimedCache <string>("test2", 10, 10);

            cache.Add("newkey", "something");

            var retreive         = cache["newkey"];
            var retreiveUnlikely = cache["unusedkey"];

            Assert.AreEqual("something", retreive);
            Assert.IsNull(retreiveUnlikely);
        }
Beispiel #6
0
        // this test takes a couple of minutes so commented out TestMethod attribute
        // comment it back in if you're looking at cache behaviour
        //[TestMethod]
        public void ItemsCanExpire()
        {
            var cache = new TimedCache <string>("test4", 1, 1);

            cache.Add("newkey", "something");
            var retreiveEarly = cache["newkey"];

            System.Threading.Thread.Sleep(TimeSpan.FromMinutes(1.5));
            var retreiveLate = cache["newkey"];

            Assert.AreEqual("something", retreiveEarly);
            Assert.IsNull(retreiveLate);
        }
Beispiel #7
0
        //Todo: Write IT

        //Todo:Refactor name
        private TimedCache <int> AddItemAndSimulateTimerCall(TimeSpan timeoutPeriod, TimeSpan timeUntilTimerCall)
        {
            var timeProviderMock = new Mock <ITimeProvider>();

            timeProviderMock.Setup(timeProvider => timeProvider.Now).Returns(_defaultTime);
            TimerMock timerMock = new TimerMock();

            var timedCache = new TimedCache <int>(timeoutPeriod, timerMock, timeProviderMock.Object);

            timedCache.Add(_defaultElement);
            timeProviderMock.Setup(timeProvider => timeProvider.Now).Returns(_defaultTime + timeUntilTimerCall);
            timerMock.RaiseElapsed();
            return(timedCache);
        }
Beispiel #8
0
        // this test takes a couple of minutes so commented out TestMethod attribute
        // comment it back in if you're looking at cache behaviour
        //[TestMethod]
        public void ItemsCanExpire()
        {
            var cache = new TimedCache<string>("test4", 1, 1);
            cache.Add("newkey", "something");
            var retreiveEarly = cache["newkey"];
            System.Threading.Thread.Sleep(TimeSpan.FromMinutes(1.5));
            var retreiveLate = cache["newkey"];

            Assert.AreEqual("something", retreiveEarly);
            Assert.IsNull(retreiveLate);
        }
Beispiel #9
0
        public void Item_CanReturnNullIfNotFound()
        {
            var cache = new TimedCache<string>("test2", 10, 10);
            cache.Add("newkey", "something");

            var retreive = cache["newkey"];
            var retreiveUnlikely = cache["unusedkey"];
            Assert.AreEqual("something", retreive);
            Assert.IsNull(retreiveUnlikely);
        }