Example #1
0
        public async Task GetOrSetFromCache_Doesnt_Cache_When_Required()
        {
            var sut = new CacheWrapper(memoryCache, Options.Create(new Caching()
            {
                movieApiInSeconds = -1
            }));

            int count = 0;

            Func <Task <int> > func = () => { return(Task.FromResult(++count)); };

            (await sut.GetOrSetFromCache("abc", func)).ShouldBe(1);
            (await sut.GetOrSetFromCache("abc", func)).ShouldBe(2);
            (await sut.GetOrSetFromCache("abc", func)).ShouldBe(3);

            (await sut.GetOrSetFromCache("def", func)).ShouldBe(4);
        }
Example #2
0
        public async Task GetOrSetFromCache_Caches_Properly()
        {
            var sut = new CacheWrapper(memoryCache, Options.Create(new Caching()
            {
                movieApiInSeconds = 10
            }));

            int count = 0;

            Func <Task <int> > func = () => { return(Task.FromResult(++count)); };

            (await sut.GetOrSetFromCache("abc", func)).Should().Be(1);
            (await sut.GetOrSetFromCache("abc", func)).Should().Be(1);
            (await sut.GetOrSetFromCache("abc", func)).Should().Be(1);

            (await sut.GetOrSetFromCache("def", func)).Should().Be(2);
        }