public void TestSynchFromRedis()
        {
            var testClass = new UnitTestClass()
            {
                TestDescription = "TestSynchFromRedis",
                TestId          = 4
            };

            var persistenceCacheStackEntity = new PersistenceCacheStackEntity("TestSynchFromRedis", testClass, null);

            var redisWrapper = new RedisWrapper();

            // add fake object into Redis
            var addResult = redisWrapper.Push(persistenceCacheStackEntity);

            Assert.IsTrue(addResult);

            var objectCached = redisWrapper.Get(persistenceCacheStackEntity.Key);

            Assert.IsNotNull(objectCached);

            // synch from Redis
            var persistenceCacheStack = new PersistenceCacheStackClient <UnitTestClass>(true);

            var obj = persistenceCacheStack.GetItem("TestSynchFromRedis");

            Assert.IsNotNull(obj);
            Assert.IsTrue(obj.TestId == 4);
        }
        public void TestAddItem()
        {
            var testClass = new UnitTestClass()
            {
                TestDescription = "test1",
                TestId          = 1
            };

            var persistenceCacheStackEntity = new PersistenceCacheStackEntity("test1", testClass, null);

            var addResult = GlobalCachingProvider.Instance.AddItem(persistenceCacheStackEntity);

            Assert.IsTrue(addResult);
        }
        public void TestAddItem()
        {
            var testClass = new UnitTestClass()
            {
                TestDescription = "TestAddItem",
                TestId          = 1
            };

            var persistenceCacheStack = new PersistenceCacheStackClient <UnitTestClass>(true);

            var addResult = persistenceCacheStack.AddItem("TestAddItem", testClass, null);

            Assert.IsTrue(addResult);
        }
        public void TestGetItem()
        {
            var testClass = new UnitTestClass()
            {
                TestDescription = "test2",
                TestId          = 2
            };

            var persistenceCacheStackEntity = new PersistenceCacheStackEntity("test2", testClass, null);

            var addResult = GlobalCachingProvider.Instance.AddItem(persistenceCacheStackEntity);

            Assert.IsTrue(addResult);

            var objectCached = GlobalCachingProvider.Instance.GetItem(persistenceCacheStackEntity.Key, false);

            Assert.IsNotNull(objectCached);
            Assert.AreEqual(objectCached.Key, "test2");
        }
        public void TestGetItem()
        {
            var testClass = new UnitTestClass()
            {
                TestDescription = "TestAddItem",
                TestId          = 2
            };

            var persistenceCacheStack = new PersistenceCacheStackClient <UnitTestClass>(true);

            var addResult = persistenceCacheStack.AddItem("TestAddItem", testClass, null);

            Assert.IsTrue(addResult);

            var objectCached = persistenceCacheStack.GetItem("TestAddItem");

            Assert.IsNotNull(objectCached);
            Assert.IsTrue(objectCached.TestId == 2);
        }
        public void TestUpdateItem()
        {
            var testClass = new UnitTestClass()
            {
                TestDescription = "test4",
                TestId          = 4
            };

            var persistenceCacheStackEntity = new PersistenceCacheStackEntity("test4", testClass, null);

            var addResult = GlobalCachingProvider.Instance.AddItem(persistenceCacheStackEntity);

            Assert.IsTrue(addResult);

            var objectCached = GlobalCachingProvider.Instance.GetItem(persistenceCacheStackEntity.Key, false);

            Assert.AreEqual(objectCached.Key, "test4");

            testClass.TestDescription = "update_test4";

            persistenceCacheStackEntity = new PersistenceCacheStackEntity("test4", testClass, null);

            var updateResult = GlobalCachingProvider.Instance.AddItem(persistenceCacheStackEntity);

            Assert.IsTrue(updateResult);

            var updatedObject = GlobalCachingProvider.Instance.GetItem(persistenceCacheStackEntity.Key, false);

            Assert.IsNotNull(updatedObject);
            Assert.IsNotNull(updatedObject.Object);

            var updateTestClass = (UnitTestClass)updatedObject.Object;

            Assert.IsNotNull(updateTestClass);
            Assert.IsTrue(updateTestClass.TestDescription == "update_test4");
        }
        public void TestRemoveItem()
        {
            var testClass = new UnitTestClass()
            {
                TestDescription = "TestRemoveItem",
                TestId          = 3
            };

            var persistenceCacheStack = new PersistenceCacheStackClient <UnitTestClass>(true);

            var addResult = persistenceCacheStack.AddItem("TestRemoveItem", testClass, null);

            Assert.IsTrue(addResult);

            var removeResult = persistenceCacheStack.RemoveItem("TestRemoveItem");

            Assert.IsTrue(removeResult);

            var cachedObject      = persistenceCacheStack.GetItem("TestRemoveItem");
            var cachedObjectRedis = new RedisWrapper().Get("TestRemoveItem");

            Assert.IsNull(cachedObject);
            Assert.IsNull(cachedObjectRedis);
        }