Example #1
0
        public void Setup_WithRandomizer()
        {
            var now = Beef.Entities.Cleaner.Clean(DateTime.Now);
            var acp = new AbsoluteCachePolicy {
                Duration = new TimeSpan(0, 1, 0), RandomizerOffset = new TimeSpan(0, 30, 0)
            };

            acp.Reset();

            Assert.IsTrue(acp.Expiry.HasValue);
            Assert.IsTrue(acp.Expiry.Value > now && acp.Expiry.Value < now.AddMinutes(30));
        }
Example #2
0
        public void HasExpired()
        {
            var acp = new AbsoluteCachePolicy {
                Duration = new TimeSpan(0, 0, 1)
            };

            acp.Reset();
            Assert.IsTrue(acp.Expiry <= Beef.Entities.Cleaner.Clean(DateTime.Now).AddMilliseconds(1000));

            Assert.IsFalse(((ICachePolicy)acp).HasExpired());
            Assert.IsFalse(acp.IsExpired);
            Thread.Sleep(750);
            Assert.IsFalse(((ICachePolicy)acp).HasExpired());
            Assert.IsFalse(acp.IsExpired);
            Thread.Sleep(750);
            Assert.IsTrue(((ICachePolicy)acp).HasExpired());
            Assert.IsTrue(acp.IsExpired);
            Thread.Sleep(750);
            Assert.IsTrue(((ICachePolicy)acp).HasExpired());
            Assert.IsTrue(acp.IsExpired);

            acp.Reset();
            Assert.IsTrue(acp.Expiry <= Beef.Entities.Cleaner.Clean(DateTime.Now).AddMilliseconds(1000));
        }