Exemplo n.º 1
0
 public static ArtistInfo FromRepositoryObject(LastfmArtistInfo repoObject)
 {
     return(new ArtistInfo {
         Name = repoObject.Name,
         YearFormed = repoObject.YearFormed,
         PlaceFormed = repoObject.PlaceFormed,
         BioSummary = repoObject.BioSummary,
     });
 }
        public void FindArtistInfo_Gets_Data_From_Cache()
        {
            var cache = MockRepository.GenerateStub <ILastfmCache>();
            var expectedArtistInfo = new LastfmArtistInfo();
            var artist             = "Bobby Hutcherson";

            var repository = new LastfmRepository(null, cache);

            cache.Stub(c => c.Get(LastfmCache.ArtistInfoCacheKey + ":" + artist)).Return(expectedArtistInfo);

            var artistInfo = repository.FindArtistInfo(artist);

            Assert.That(artistInfo, Is.SameAs(expectedArtistInfo));
        }
        public void GetArtistInfo_Returns_Info_From_Repository()
        {
            var repository       = MockRepository.GenerateStub <ILastfmRepository>();
            var artist           = "Bobby Hutcherson";
            var lastfmArtistInfo = new LastfmArtistInfo {
                Name = artist
            };

            repository.Stub(r => r.FindArtistInfo(artist)).Return(lastfmArtistInfo);

            var result = new ArtistInfoController(repository).GetArtistInfo(artist) as OkNegotiatedContentResult <ArtistInfo>;

            Assert.That(result.Content.Name, Is.EqualTo(lastfmArtistInfo.Name));
        }
        public void FindArtistInfo_Adds_Result_To_Cache_And_Returns_It()
        {
            var service = MockRepository.GenerateStub <ILastfmService>();
            var cache   = MockRepository.GenerateMock <ILastfmCache>();
            var config  = MockRepository.GenerateStub <IConfig>();

            var expectedArtistInfo = new LastfmArtistInfo();
            var artist             = "Bobby Hutcherson";

            service.Stub(s => s.FindArtistInfo(artist)).Return(expectedArtistInfo);
            cache.Stub(c => c.Get(LastfmCache.ArtistInfoCacheKey + ":" + artist)).Return(null);
            cache.Expect(c => c.Insert(LastfmCache.ArtistInfoCacheKey + ":" + artist, expectedArtistInfo));

            using (new ConfigScope(config)) {
                var repository = new LastfmRepository(service, cache);
                var artistInfo = repository.FindArtistInfo(artist);

                cache.VerifyAllExpectations();
                Assert.That(artistInfo, Is.SameAs(expectedArtistInfo));
            }
        }