예제 #1
0
        public void AddSlidingExpiration_NotExists()
        {
            // Arrange
            MemoryCache.Default.Remove("AddSlidingExpiration_NotExists");
            var componentUnderTest = new MemoryCacheAdapter();

            // Act
            componentUnderTest.AddSlidingExpiration("AddSlidingExpiration_NotExists", "value2", TimeSpan.FromMinutes(1));

            // Assert
            MemoryCache.Default.Get("AddSlidingExpiration_NotExists").ShouldHaveSameValueAs("value2");
        }
예제 #2
0
        public void AddSlidingExpiration_NotExists_Timeout()
        {
            // Arrange
            MemoryCache.Default.Remove("AddSlidingExpiration_NotExists_Timeout");
            var componentUnderTest = new MemoryCacheAdapter();

            // Act
            componentUnderTest.AddSlidingExpiration("AddSlidingExpiration_NotExists_Timeout", "value2", TimeSpan.FromSeconds(2));

            // Assert
            MemoryCache.Default.Get("AddSlidingExpiration_NotExists_Timeout").ShouldHaveSameValueAs("value2");

            Thread.Sleep(2100);
            componentUnderTest.Get <string>("AddSlidingExpiration_NotExists_Timeout").ShouldHaveSameValueAs(null);
        }
예제 #3
0
        public void AddSlidingExpiration_NotExists_RenewAndThenTimeout()
        {
            // Arrange
            const string key = "AddSlidingExpiration_NotExists_RenewAndThenTimeout";

            MemoryCache.Default.Remove(key);
            var componentUnderTest = new MemoryCacheAdapter();

            // Act
            componentUnderTest.AddSlidingExpiration(key, "value2", TimeSpan.FromSeconds(2));

            // Assert
            componentUnderTest.Get <string>(key).ShouldHaveSameValueAs("value2");

            for (var i = 0; i < 5; i++)
            {
                Thread.Sleep(500);
                componentUnderTest.Get <string>(key).ShouldHaveSameValueAs("value2");
            }
            Thread.Sleep(2100);
            componentUnderTest.Get <string>(key).ShouldHaveSameValueAs(null);
        }