public void TestViewBuilderWithListener() { ICacheListener listener = new TestCacheListener(); INamedCache cache = new ViewBuilder(GetCache("v-listener")).Listener(listener).Build(); Assert.IsInstanceOf(typeof(ContinuousQueryCache), cache); ContinuousQueryCache queryCache = (ContinuousQueryCache)cache; Assert.That(queryCache.CacheListener, Is.EqualTo(listener)); }
public void ConverterCacheListenerTests() { TestCacheListener listener = new TestCacheListener(); IObservableCache cache = InstantiateCache(); IConverter cUp = new ConvertUp(); CacheEventArgs evt = new CacheEventArgs(cache, CacheEventType.Inserted, "key", "oldvalue", "newvalue", false); ConverterCollections.ConverterCacheEventArgs convEvt = (ConverterCollections.ConverterCacheEventArgs)ConverterCollections.GetCacheEventArgs(cache, evt, cUp, cUp); ICacheListener convListener = new ConverterCollections.ConverterCacheListener(cache, listener, cUp, cUp); Assert.IsNotNull(convListener); Assert.AreEqual(listener.inserted, 0); convListener.EntryInserted(evt); Assert.AreEqual(listener.inserted, 1); Assert.IsNotNull(listener.evt); CacheEventArgs listenerEvt = listener.evt; Assert.AreEqual(listenerEvt.Cache, convEvt.Cache); Assert.AreEqual(listenerEvt.EventType, convEvt.EventType); Assert.AreEqual(listenerEvt.IsSynthetic, convEvt.IsSynthetic); Assert.AreEqual(listenerEvt.Key, convEvt.Key); Assert.AreEqual(listenerEvt.NewValue, convEvt.NewValue); Assert.AreEqual(listenerEvt.OldValue, convEvt.OldValue); Assert.AreEqual(listener.updated, 0); convListener.EntryUpdated(evt); Assert.AreEqual(listener.updated, 1); Assert.AreEqual(listener.deleted, 0); convListener.EntryDeleted(evt); Assert.AreEqual(listener.deleted, 1); Assert.IsInstanceOf(typeof(ConverterCollections.ConverterCacheListener), convListener); ConverterCollections.ConverterCacheListener ccl = convListener as ConverterCollections.ConverterCacheListener; Assert.IsNotNull(ccl); Assert.AreEqual(ccl.CacheListener, listener); Assert.AreEqual(ccl.ConverterKeyUp, cUp); Assert.AreEqual(ccl.ConverterValueUp, cUp); Assert.AreEqual(ccl.ObservableCache, cache); }
public void ConverterObservableCacheTests() { IObservableCache cache = InstantiateCache(); IConverter cDown = new ConvertDown(); IConverter cUp = new ConvertUp(); TestCacheListener listener = new TestCacheListener(); IObservableCache convCache = ConverterCollections.GetObservableCache(cache, cUp, cDown, cUp, cDown); Assert.IsNotNull(convCache); //AddCacheListener(listener) convCache.AddCacheListener(listener); Assert.AreEqual(listener.inserted, 0); convCache.Add(1, 1); Assert.AreEqual(listener.inserted, 1); Assert.AreEqual(listener.updated, 0); convCache[1] = 2; Assert.AreEqual(listener.updated, 1); Assert.AreEqual(listener.deleted, 0); convCache.Remove(1); Assert.AreEqual(listener.deleted, 1); //RemoveCacheListener(listener) convCache.RemoveCacheListener(listener); Assert.AreEqual(listener.inserted, 1); convCache.Add(1, 1); Assert.AreEqual(listener.inserted, 1); listener.inserted = listener.updated = listener.deleted = 0; convCache.Clear(); //AddCacheListener(listener, key, isLite); convCache.AddCacheListener(listener, "1", true); for (int i = 0; i < 3; i++) { convCache.Add(i, i); } Assert.AreEqual(listener.inserted, 1); Assert.AreEqual(listener.updated, 0); Assert.AreEqual(listener.deleted, 0); for (int i = 0; i < 3; i++) { convCache[i] = i + 1; } Assert.AreEqual(listener.inserted, 1); Assert.AreEqual(listener.updated, 1); Assert.AreEqual(listener.deleted, 0); convCache.Clear(); Assert.AreEqual(listener.inserted, 1); Assert.AreEqual(listener.updated, 1); Assert.AreEqual(listener.deleted, 1); //RemoveCacheListener(listener, key) convCache.RemoveCacheListener(listener, "1"); convCache.Add(1, 1); Assert.AreEqual(listener.inserted, 1); listener.inserted = listener.updated = listener.deleted = 0; convCache.Clear(); IFilter filter = AlwaysFilter.Instance; //AddCacheListener(listener, filter, isLite) convCache.AddCacheListener(listener, filter, true); for (int i = 0; i < 3; i++) { convCache.Add(i, i); } Assert.AreEqual(listener.inserted, 3); Assert.AreEqual(listener.updated, 0); Assert.AreEqual(listener.deleted, 0); for (int i = 0; i < 3; i++) { convCache[i] = i + 1; } Assert.AreEqual(listener.inserted, 3); Assert.AreEqual(listener.updated, 3); Assert.AreEqual(listener.deleted, 0); convCache.Clear(); Assert.AreEqual(listener.inserted, 3); Assert.AreEqual(listener.updated, 3); Assert.AreEqual(listener.deleted, 3); //RemoveCacheListener(listener, filter) convCache.RemoveCacheListener(listener, filter); convCache.Add(1, 1); Assert.AreEqual(listener.inserted, 3); Assert.IsInstanceOf(typeof(ConverterCollections.ConverterObservableCache), convCache); ConverterCollections.ConverterObservableCache coc = convCache as ConverterCollections.ConverterObservableCache; Assert.IsNotNull(coc); Assert.AreEqual(coc.ObservableCache, cache); }