예제 #1
0
        public void GetTopArtists_Returns_Error_If_Exception_Occurs()
        {
            var repository = MockRepository.GenerateStub <ILastfmRepository>();

            var controller = new TopArtistsController(repository);
            var exceptionWhenLastfmIsDown = new WebException();

            repository.Stub(r => r.FindTopArtists(Arg <int> .Is.Anything)).Throw(exceptionWhenLastfmIsDown);

            var result = controller.GetTopArtists();

            Assert.That(result, Is.InstanceOf <ExceptionResult>());
            Assert.That((result as ExceptionResult).Exception, Is.SameAs(exceptionWhenLastfmIsDown));
        }
예제 #2
0
        public void GetTopArtists_Returns_Artists_From_Repository()
        {
            var repository = MockRepository.GenerateStub <ILastfmRepository>();
            var count      = 2;
            var artists    = new List <LastfmUserTopArtist>()
            {
                new LastfmUserTopArtist(),
                new LastfmUserTopArtist(),
            };

            repository.Stub(r => r.FindTopArtists(count)).Return(artists);

            var results = new TopArtistsController(repository).GetTopArtists(count) as OkNegotiatedContentResult <IEnumerable <TopArtist> >;

            Assert.That(results.Content.Count(), Is.EqualTo(artists.Count));
        }