コード例 #1
0
        public void GetAlbumThatIsNotInTheCacheTest()
        {
            var mockRepository = new MockRepository();

            var albumStub = mockRepository.Stub <Album>();

            var pictureRepositoryMock = mockRepository.StrictMock <IPictureRepository>();

            pictureRepositoryMock.Expect(repository => repository.GetAlbum("album1")).Return(albumStub);

            var cacheServiceMock = mockRepository.StrictMock <ICacheService>();

            cacheServiceMock.Expect(cacheService => cacheService.Get(null))
            .IgnoreArguments()
            .Return(null);
            cacheServiceMock.Expect(cacheService => cacheService.Add(null, null, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.Normal, null))
            .IgnoreArguments()
            .Constraints(C.Is.Anything(), C.Is.Equal(albumStub), C.Is.Anything(), C.Is.Anything(), C.Is.Anything(), C.Is.Anything(), C.Is.Anything());

            mockRepository.ReplayAll();


            using (var repository = new PictureRepositoryCache(cacheServiceMock, pictureRepositoryMock))
            {
                repository.GetAlbum("album1");

                var cacheServiceKey1 = (string)cacheServiceMock.GetArgumentsForCallsMadeOn(cacheService => cacheService.Get(null))[0][0];
                var cacheServiceKey2 = (string)cacheServiceMock.GetArgumentsForCallsMadeOn(cacheService => cacheService.Add(null, null, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.Default, null))[0][0];

                Assert.That(cacheServiceKey1, Is.EqualTo(cacheServiceKey2));
            }

            cacheServiceMock.VerifyAllExpectations();
            pictureRepositoryMock.VerifyAllExpectations();
        }
コード例 #2
0
        public void GetAlbumThatIsInTheCacheTest()
        {
            var mockRepository = new MockRepository();

            var albumStub = mockRepository.Stub <Album>();

            var pictureRepositoryMock = mockRepository.StrictMock <IPictureRepository>();

            var cacheServiceMock = mockRepository.StrictMock <ICacheService>();

            cacheServiceMock.Expect(cacheService => cacheService.Get(null))
            .IgnoreArguments()
            .Return(albumStub);

            mockRepository.ReplayAll();


            using (var repository = new PictureRepositoryCache(cacheServiceMock, pictureRepositoryMock))
            {
                repository.GetAlbum("album1");
            }

            cacheServiceMock.VerifyAllExpectations();
            pictureRepositoryMock.VerifyAllExpectations();
        }