public void TestFilterEnumerator() { IConfigurableCacheFactory ccf = CacheFactory.ConfigurableCacheFactory; IXmlDocument config = XmlHelper.LoadXml("assembly://Coherence.Tests/Tangosol.Resources/s4hc-local-cache-config.xml"); ccf.Config = config; INamedCache cache = CacheFactory.GetCache("local-default"); cache.Clear(); Hashtable ht = new Hashtable(); ht.Add("Key1", 435); ht.Add("Key2", 253); ht.Add("Key3", 3); ht.Add("Key4", 200); ht.Add("Key5", 333); cache.InsertAll(ht); GreaterFilter filter = new GreaterFilter(IdentityExtractor.Instance, 200); FilterEnumerator filterEnumerator = new FilterEnumerator(cache.GetEnumerator(), filter); ArrayList results = new ArrayList(); while (filterEnumerator.MoveNext()) { object o = filterEnumerator.Current; Assert.IsNotNull(o); results.Add(o); } Assert.AreEqual(3, results.Count); foreach (ICacheEntry value in results) { Assert.IsTrue((int)value.Value > 200); } filterEnumerator.Reset(); results.Clear(); while (filterEnumerator.MoveNext()) { object o = filterEnumerator.Current; Assert.IsNotNull(o); results.Add(o); } Assert.AreEqual(3, results.Count); foreach (ICacheEntry value in results) { Assert.IsTrue((int)value.Value > 200); } filterEnumerator.Reset(); results.Clear(); filter = new GreaterFilter(IdentityExtractor.Instance, 400); filterEnumerator = new FilterEnumerator(cache.GetEnumerator(), filter); results = new ArrayList(); while (filterEnumerator.MoveNext()) { object o = filterEnumerator.Current; Assert.IsNotNull(o); results.Add(o); } Assert.AreEqual(1, results.Count); Assert.AreEqual(ht["Key1"], ((ICacheEntry)results[0]).Value); filterEnumerator.Reset(); results.Clear(); filter = new GreaterFilter(IdentityExtractor.Instance, 600); filterEnumerator = new FilterEnumerator(cache.GetEnumerator(), filter); results = new ArrayList(); while (filterEnumerator.MoveNext()) { object o = filterEnumerator.Current; Assert.IsNotNull(o); results.Add(o); } Assert.AreEqual(0, results.Count); CacheFactory.Shutdown(); }