public void Memory_Cache_Simple_Tests_Succeed()
        {
            ICacheProvider provider = new MemoryCacheProvider();

            var user = provider.Get <User>("user_1");

            Assert.IsNull(user);

            var user1 = provider.Get("user_1", () => new User(1, Guid.NewGuid()));
            var user2 = provider.Get("user_1", () => new User(1, Guid.NewGuid()));
            var user3 = provider.Get("user_3", () => new User(1, Guid.NewGuid()));

            Assert.AreEqual(user1.Guid, user2.Guid);
            Assert.AreNotEqual(user1.Guid, user3.Guid);

            Assert.IsFalse(provider.IsSet("user_4"));
            Assert.IsTrue(provider.IsSet("user_3"));

            provider.Remove("user_1");
            Assert.IsFalse(provider.IsSet("user_1"));

            provider.Clear();
            Assert.IsFalse(provider.IsSet("user_2"));
            Assert.IsFalse(provider.IsSet("user_3"));
        }