public void ShouldCacheIEnumerableParameter() { var realRepository = new UserRepository(); var repository = AspectFactory.Create<IUserRepository>(realRepository); Guid id1, id2; repository.Save(new User { Id = id1 = Guid.NewGuid(), Name = "User 1" }); repository.Save(new User { Id = id2 = Guid.NewGuid(), Name = "User 2" }); var l1 = repository.List(new[] { id1, id2 }); var l2 = repository.List(new[] { id1, id2 }); l2 = repository.List(new[] { id1, id2 }); var l3 = repository.ListParams(id1, id2); var l4 = repository.ListParams(id1, id2); l4 = repository.ListParams(id1, id2); Assert.AreEqual(1, realRepository.ListCount); Assert.AreEqual(1, realRepository.ListParamsCount); }
public void ShouldCacheItem() { AOP.RegisterTypeMap<ICacheStore>(new CacheStore()); var repo = new UserRepository(); Stopwatch sw = Stopwatch.StartNew(); var repository = AOP.Create<IUserRepository>(repo); System.Diagnostics.Debug.WriteLine(sw.ElapsedMilliseconds); var user = new User { Id = Guid.NewGuid(), Name = "User 1" }; repository.Save(user); var u1 = repository.GetById(user.Id); var u2 = repository.GetById(user.Id); var u3 = repository.GetById(user.Id); Assert.AreEqual(1, repo.GetByIdCount); }
public void ShouldImplementCacheAspect() { var realRepository = new UserRepository(); var repository = AspectFactory.Create<IUserRepository>(realRepository); var user = new User { Id = Guid.NewGuid(), Name = "User 1" }; repository.Save(user); var u1 = repository.GetById(user.Id); var u2 = repository.GetById(user.Id); var u3 = repository.GetById(user.Id); Assert.AreEqual(1, realRepository.GetByIdCount); }