public void SmartCacheStore_GetValueGetsCalled_LocalGetValueShouldBeCalled()
        {
            //Arrange
            ICacheStore     localCacheStore            = Mock.Of <ICacheStore>();
            ICacheStore     distributedcacheStore      = Mock.Of <ICacheStore>();
            SmartCacheStore smartCacheStoreInterceptor = new SmartCacheStore(distributedcacheStore, localCacheStore, GetLog());

            string key = "Key_1";

            //Act
            smartCacheStoreInterceptor.GetValue(key);

            //Assert
            Mock.Get(localCacheStore).Verify(x => x.GetValue(key));
        }
        public void SmartCacheStore_ItemNotExistInLocalCache_LocalGetValueShouldBeCalled()
        {
            //Arrange
            var             localCacheStore            = new Mock <ICacheStore>();
            ICacheStore     distributedcacheStore      = Mock.Of <ICacheStore>();
            SmartCacheStore smartCacheStoreInterceptor = new SmartCacheStore(distributedcacheStore, localCacheStore.Object, GetLog());

            localCacheStore.Setup(x => x.GetValue(It.IsAny <string>())).Returns(null);
            //Act
            string key = "key_1";

            smartCacheStoreInterceptor.GetValue(key);

            //Assert
            localCacheStore.Verify(x => x.GetValue(key));
        }