Example #1
0
        public void ListAlbumsThatAreInTheCacheTest()
        {
            var mockRepository = new MockRepository();

            var albumsStub = mockRepository.Stub <PagedList <AlbumSummary> >(null, 1, 20, 20);

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

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

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

            mockRepository.ReplayAll();


            using (var repository = new PictureRepositoryCache(cacheServiceMock, pictureRepositoryMock))
            {
                repository.ListAlbums(1, 20);
            }

            cacheServiceMock.VerifyAllExpectations();
            pictureRepositoryMock.VerifyAllExpectations();
        }
Example #2
0
        public void ListAlbumsThatAreNotInTheCacheTest()
        {
            var mockRepository = new MockRepository();

            var albumsStub = mockRepository.Stub <PagedList <AlbumSummary> >(null, 1, 20, 20);

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

            pictureRepositoryMock.Expect(repository => repository.ListAlbums(1, 20)).Return(albumsStub);

            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.Default, null))
            .IgnoreArguments()
            .Constraints(C.Is.Anything(), C.Is.Equal(albumsStub), 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.ListAlbums(1, 20);

                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();
        }