public void when_deleted_then_execute_cached_then_get_then_check_result()
        {
            var result = cacheProvider.ExecuteCached(new CacheKey(GetType().FullName + "::ComplexReference::Check"),
                                                     () => new ComplexObj(), CacheRule.Delete());

            result = cacheProvider.Get <ComplexObj>(new CacheKey(GetType().FullName + "::ComplexReference::Check"));
            Assert.IsNull(result);

            result = cacheProvider.ExecuteCached(new CacheKey(GetType().FullName + "::ComplexReference::Check"), () => new ComplexObj(), TimeSpan.FromSeconds(4));
            Assert.AreEqual(new ComplexObj().A, result.A);
            Assert.AreEqual(new ComplexObj().B, result.B);

            Thread.Sleep(4000);
            result = cacheProvider.Get <ComplexObj>(new CacheKey(GetType().FullName + "::ComplexReference::Check"));
            Assert.IsNull(result);
        }
        public void execute_cached_for_delete_only()
        {
            cacheProvider.ExecuteCached(new CacheKey(GetType().FullName + "::PrimitiveReference::DeleteOnly"), () => Guid.NewGuid(), CacheRule.Delete());
            Assert.True(true);
            var result = cacheProvider.Get <Guid>(new CacheKey(GetType().FullName + "::PrimitiveReference::DeleteOnly"));

            Assert.AreEqual(Guid.Empty.ToString(), result.ToString());
        }
 public void execute_cached_for_delete_only()
 {
     cacheProvider.ExecuteCached(new CacheKey(GetType().FullName + "::PrimitiveReference"), () => "", CacheRule.Delete());
     Assert.True(true);
 }