public async Task GetOrCreateAsyncTimespanTest()
        {
            SimpleMemoryCache <string, string> cache = new SimpleMemoryCache <string, string>(TimeSpan.FromTicks(0));
            int callsCount = 0;
            await cache.GetOrCreateAsync("key", key => { callsCount++; return(Task.FromResult("value")); });

            var value = await cache.GetOrCreateAsync("key", key => { callsCount++; return(Task.FromResult("value 2")); });

            Assert.AreEqual(2, callsCount);
            Assert.AreEqual("value 2", value);
        }
        public async Task GetOrCreateAsyncFactoryCalledTest()
        {
            SimpleMemoryCache <string, string> cache = new SimpleMemoryCache <string, string>(TimeSpan.FromHours(1));
            int callsCount = 0;
            var value      = await cache.GetOrCreateAsync("key", key => { callsCount++; return(Task.FromResult("value")); });

            Assert.AreEqual(1, callsCount);
            Assert.AreEqual("value", value);
        }