예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }