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)); }