Ejemplo n.º 1
0
        public async Task TestNoCacheObjectAsync()
        {
            var cache = new NoCache();

            int hits = 0;

            Func <Task <ScopedValue <string> > > getter = async() =>
            {
                await Task.Delay(10);

                hits++;
                return(new ScopedValue <string>(hits.ToString(), DateTimeOffset.UtcNow));
            };

            GetScopedResult <string> result;

            result = await cache.GetScopedAsync("key", getter);

            Assert.AreEqual(1, hits);
            Assert.AreEqual("1", result.ScopedValue.Value);
            Assert.AreEqual(CacheMethodTaken.None, result.MethodTaken);

            result = await cache.GetScopedAsync("key", getter);

            Assert.AreEqual(2, hits);
            Assert.AreEqual("2", result.ScopedValue.Value);
            Assert.AreEqual(CacheMethodTaken.None, result.MethodTaken);
        }