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();
        }
Exemplo n.º 2
0
        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();
        }