Example #1
0
        public void InvokeCache_NullFunction_ShouldNotCacheNull()
        {
            using var fixture = new ExpressionCacheBaseFixture();
            fixture.SetCacheProviderGetFailure();
            var key = fixture.ExpressionCacheBase.GetKey(() => _testFunctions.FunctionWithoutParameters());

            var result = fixture.ExpressionCacheBase.InvokeCache(() => _testFunctions.NullFunctionWithoutParameters(), ExpressionCacheBaseFixture.TimeSpan, CacheAction.Invoke);

            result.Should().BeNull();
            fixture.CacheProviderMock.Verify(m => m.Get <string>(key), Times.Never);
            fixture.CacheProviderMock.Verify(m => m.Set(key, result, ExpressionCacheBaseFixture.TimeSpan), Times.Never);
        }
Example #2
0
        public void InvokeCache_ResultNotInCache_ShouldCacheAndReturnResult()
        {
            using var fixture = new ExpressionCacheBaseFixture();
            fixture.SetCacheProviderGetFailure();
            var key = fixture.ExpressionCacheBase.GetKey(() => _testFunctions.FunctionWithoutParameters());

            var result = fixture.ExpressionCacheBase.InvokeCache(() => _testFunctions.FunctionWithoutParameters(), ExpressionCacheBaseFixture.TimeSpan, CacheAction.Invoke);

            result.Should().Be(TestFunctionsFixture.ReturnResult);
            fixture.CacheProviderMock.Verify(m => m.Get <string>(key), Times.Once);
            fixture.CacheProviderMock.Verify(m => m.Set(key, result, ExpressionCacheBaseFixture.TimeSpan), Times.Once);
        }