Exemplo n.º 1
0
        public async Task GivenExpiredEntry_WhenCheckingIsOn_ThenWeRecallFactoryMethod()
        {
            var called  = 0;
            var request = new FeatureEvaluationRequest
            {
                Name = "a",
                Path = "b"
            };
            var cache   = this.GivenEvaluationCache();
            var results = await cache
                          .isOn(request, () =>
            {
                called++;
                return(Task.FromResult(true));
            });

            await Task.Delay(200.Milliseconds());

            var resultsAgain = await cache
                               .isOn(request, () =>
            {
                called++;
                return(Task.FromResult(true));
            });

            called.Should().Be(2);
            results.Should().BeTrue();
            resultsAgain.Should().BeTrue();
        }
Exemplo n.º 2
0
        public async Task GivenNonEmptyCache_WhenCheckingIsOn_ThenWeDontCallFActoryMethod()
        {
            var called  = 0;
            var request = new FeatureEvaluationRequest
            {
                Name = "a",
                Path = "b"
            };
            var cache   = this.GivenEvaluationCache();
            var results = await cache
                          .isOn(request, () =>
            {
                called++;
                return(Task.FromResult(true));
            });

            var resultsAgain = await cache
                               .isOn(request, () =>
            {
                called++;
                return(Task.FromResult(true));
            });

            called.Should().Be(1);
            results.Should().BeTrue();
            resultsAgain.Should().BeTrue();
        }