public void TestCaching() { ICache cache = new NonExpiringCache(); context.ObjectFactory.RegisterSingleton("inventors", cache); ProxyFactory pf = new ProxyFactory(new InventorStore()); pf.AddAdvisors(cacheAspect); IInventorStore store = (IInventorStore)pf.GetProxy(); Assert.AreEqual(0, cache.Count); IList inventors = store.GetAll(); Assert.AreEqual(2, cache.Count); store.Delete((Inventor)inventors[0]); Assert.AreEqual(1, cache.Count); Inventor tesla = store.Load("Nikola Tesla"); Assert.AreEqual(2, cache.Count); store.Save(tesla); Assert.AreEqual(2, cache.Count); Assert.AreEqual("Serbian", ((Inventor)cache.Get("Nikola Tesla")).Nationality); store.DeleteAll(); Assert.AreEqual(0, cache.Count); }
public void CacheDoesNotImplementICache() { context.ObjectFactory.RegisterSingleton("inventors", new Object()); ProxyFactory pf = new ProxyFactory(new InventorStore()); pf.AddAdvisors(cacheAspect); IInventorStore store = (IInventorStore)pf.GetProxy(); IList items = store.GetAll(); }
public void CacheDoesNotExist() { //ICache cache = new NonExpiringCache(); //context.ObjectFactory.RegisterSingleton("losers", cache); ProxyFactory pf = new ProxyFactory(new InventorStore()); pf.AddAdvisors(cacheAspect); IInventorStore store = (IInventorStore)pf.GetProxy(); IList items = store.GetAll(); }
public void CacheDoesNotImplementICache() { context.ObjectFactory.RegisterSingleton("inventors", new Object()); ProxyFactory pf = new ProxyFactory(new InventorStore()); pf.AddAdvisors(cacheAspect); IInventorStore store = (IInventorStore)pf.GetProxy(); Assert.Throws <ArgumentException>(() => store.GetAll()); }
public void CacheDoesNotExist() { //ICache cache = new NonExpiringCache(); //context.ObjectFactory.RegisterSingleton("losers", cache); ProxyFactory pf = new ProxyFactory(new InventorStore()); pf.AddAdvisors(cacheAspect); IInventorStore store = (IInventorStore)pf.GetProxy(); Assert.Throws <NoSuchObjectDefinitionException>(() => store.GetAll()); }
public void NoCacheKeySpecified() { ICache cache = new NonExpiringCache(); context.ObjectFactory.RegisterSingleton("inventors", cache); ProxyFactory pf = new ProxyFactory(new InventorStore()); pf.AddAdvisors(cacheAspect); IInventorStore store = (IInventorStore)pf.GetProxy(); Assert.Throws <ArgumentNullException>(() => store.GetAllNoCacheKey()); }
public void NoCacheKeySpecified() { ICache cache = new NonExpiringCache(); context.ObjectFactory.RegisterSingleton("inventors", cache); ProxyFactory pf = new ProxyFactory(new InventorStore()); pf.AddAdvisors(cacheAspect); IInventorStore store = (IInventorStore)pf.GetProxy(); IList items = store.GetAllNoCacheKey(); Assert.IsNotNull(items); }
protected override IInventorRepository CreateInventorStore() { Region region = CreateRegion(); cache = new GemFireCache(region); context.ObjectFactory.RegisterSingleton("inventors", cache); ProxyFactory pf = new ProxyFactory(new InventorRepository()); pf.AddAdvisors(cacheAspect); Repository = (IInventorRepository)pf.GetProxy(); return(Repository); }
public void TestCacheResultDoesNotReturnInvalidType() { ICache cache = new NonExpiringCache(); context.ObjectFactory.RegisterSingleton("inventors", cache); ProxyFactory pf = new ProxyFactory(new InventorStore()); pf.AddAdvisors(cacheAspect); IInventorStore store = (IInventorStore)pf.GetProxy(); cache.Insert("Nikola Tesla", "WrongTypeForMethodSignature"); Inventor value = store.Load("Nikola Tesla"); Assert.That(value, Is.AssignableTo(typeof(Inventor)), "CacheAspect returned a cached type that is incompatible with the method signature return type"); }
public void UseMethodInfoForKeyGeneration() { ICache cache = new NonExpiringCache(); context.ObjectFactory.RegisterSingleton("defaultCache", cache); ProxyFactory pf = new ProxyFactory(new GenericDao <string, int>()); pf.AddAdvisors(cacheAspect); IGenericDao <string, int> dao = (IGenericDao <string, int>)pf.GetProxy(); Assert.AreEqual(0, cache.Count); dao.Load(1); Assert.AreEqual(1, cache.Count); // actually, it should be null, because default(string) = null // but it returns the NullValue marker created by the CacheResultAttribute Assert.IsNotNull(cache.Get("String_1")); }