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