public void TestEnumerators(bool compressValues, bool useBasic)
        {
            TimeSpan            cacheLifeTime = TimeSpan.FromMinutes(5);
            RedisCachingService service       = RedisHelpers.GetRedis(compressValues: compressValues, useBasic: useBasic);

            service.Clear();
            Foobar cachable = RedisHelpers.GetCachableObject();

            string cachableKey = RedisHelpers.CachableKey;

            service.Cache(cachableKey, cachable);

            IEnumerator <KeyValuePair <string, ICachedObjectBasic> > typedEnumerator
                = service.GetEnumerator();
            IEnumerator enumerator = ((IEnumerable)service).GetEnumerator();

            typedEnumerator.MoveNext();
            enumerator.MoveNext();

            Foobar returned = RedisHelpers.SerializationService.DeserializeObject <Foobar>(
                (string)((ICachedObjectBasic)(typedEnumerator.Current).Value).UntypedValue, RedisHelpers.SerializationSettings);

            Assert.NotNull(returned);
            Assert.NotEqual(cachable, returned);
            Assert.True(RedisHelpers.CheckFooBarEquality(cachable, returned));

            Foobar returned2 = RedisHelpers.SerializationService.DeserializeObject <Foobar>(
                (string)((ICachedObjectBasic)((KeyValuePair <string, ICachedObjectBasic>)
                                                  (enumerator.Current)).Value).UntypedValue, RedisHelpers.SerializationSettings);

            Assert.NotNull(returned2);
            Assert.NotEqual(cachable, returned2);
            Assert.True(RedisHelpers.CheckFooBarEquality(cachable, returned2));
        }