public void TestGetValues() { 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", 100.0); ht.Add("key2", 80.5); ht.Add("key3", 19.5); ht.Add("key4", 2.0); cache.InsertAll(ht); Assert.AreEqual(4, cache.Count); IFilter lessFilter = new LessFilter(IdentityExtractor.Instance, 80.5); object[] result = cache.GetValues(lessFilter); Assert.AreEqual(2, result.Length); foreach (object o in result) { Assert.IsTrue((Convert.ToDouble(o) == 19.5) || (Convert.ToDouble(o) == 2.0)); } CacheFactory.Shutdown(); }
public T Get <T>(string key) { var values = cache.GetValues(new KeyFilter(new ArrayList { key })); return((T)values[0]); }
public void TestGetValues() { INamedCache cache = CacheFactory.GetCache(CacheName); cache.Clear(); IDictionary dict = new Hashtable(); for (int i = 1; i <= 10; i++) { dict.Add(GetKeyObject("key" + i), i); } cache.InsertAll(dict); IFilter filter = new GreaterFilter(IdentityExtractor.Instance, 5); object[] values = cache.GetValues(filter); Assert.AreEqual(values.Length, 5); for (int i = 6; i <= 10; i++) { Assert.Contains(i, values); } values = cache.GetValues(filter, SafeComparer.Instance); Assert.AreEqual(values.Length, 5); for (int i = 6; i <= 10; i++) { Assert.Contains(i, values); } Assert.AreEqual(values[0], 6); Assert.AreEqual(values[1], 7); Assert.AreEqual(values[2], 8); Assert.AreEqual(values[3], 9); Assert.AreEqual(values[4], 10); CacheFactory.Shutdown(); }