// i dont know how to use the As<T> method
            //[Fact]
            public void should_add_null_string_if_value_is_null_moq()
            {
                //ClientManagerMock = new Mock<IRedisClientsManager>();
                //var cacheMock = new Mock<ICacheClient>();
                //RedisClientMock = cacheMock.As<IRedisClient>();
                var cacheMock = RedisClientMock.As<ICacheClient>();

                var cacheClient = new RedisCacheHelper();

                //RedisClientMock.As<ICacheClient>();
                Mock.Get<ICacheClient>(cacheMock.Object).Setup(x => x.Add(DEFAULT_KEY, RedisCacheHelper.NULL_DATA)).Returns(true);
                //setup
                ClientManagerMock.Setup(x => x.GetClient()).Returns(RedisClientMock.Object);
                //var cacheClient = RedisClientMock as Mock<ICacheClient>;
                cacheMock.Setup(x => x.Add(DEFAULT_KEY, It.Is<String>(m => m.EqualsOrdinalIgnoreCase(RedisCacheHelper.NULL_DATA)))).Returns(true);
                //RedisClientMock.Setup(x => x.IncrementValue(It.IsAny<string>()));

                RedisCacheHelper._redisClientManager = ClientManagerMock.Object;

                // call service
                cacheClient.AddNullableData(DEFAULT_KEY, default(String), 20);
                //verify
                //cacheMock.Verify(x => x.Add(DEFAULT_KEY, It.Is<String>(m => m.EqualsOrdinalIgnoreCase(RedisCacheHelper.NULL_DATA))));
                cacheMock.Verify(x => x.Add<String>(DEFAULT_KEY, It.Is<String>(m => m.EqualsOrdinalIgnoreCase(RedisCacheHelper.NULL_DATA))), Times.Once());

                // for the redisfact uts
                RedisCacheHelper._redisClientManager = null;
            }