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

            // Act
            var actual = componentUnderTest.GetOrAddAndGetExactExpiration("GetOrAddAndGetExactExpiration_NotExists", ApplicationContext.NetworkContext.CurrentDateTime.AddSeconds(2), () => "value2");

            // Assert
            actual.ShouldHaveSameValueAs("value2");
            MemoryCache.Default.Get("GetOrAddAndGetExactExpiration_NotExists").ShouldHaveSameValueAs("value2");
        }
Exemple #2
0
        public void GetOrAddAndGetExactExpiration_NotExists_Timeout()
        {
            // Arrange
            MemoryCache.Default.Remove("GetOrAddAndGetExactExpiration_NotExists_Timeout");
            var componentUnderTest = new MemoryCacheAdapter();

            // Act
            var actual = componentUnderTest.GetOrAddAndGetExactExpiration("GetOrAddAndGetExactExpiration_NotExists_Timeout", ApplicationContext.NetworkContext.CurrentDateTime.AddSeconds(2), () => "value2");

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

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