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"); }
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); }