public DilbertDownloaderTests() { var mocker = new AutoMoqer(); var result20151123 = new ComicDownloadResult( Fixture.Load("dilbert-2015-11-23"), 20151123, new Uri("http://dilbert.com/strip/2015-11-23")); mocker.GetMock<IDilbertWebClient>() .Setup(m => m.GetComicHtml(new DateTime(2015, 11, 23))) .Returns(result20151123); _mocker = mocker; }
public ExplosmDownloaderTests() { var mocker = new AutoMoqer(); // depends on 4125 fixture not having a next link var result4124 = new ComicDownloadResult(Fixture.Load("explosm-4124"), 4124, new Uri("http://explosm.net/comics/4124/")); var result4125 = new ComicDownloadResult(Fixture.Load("explosm-4125"), 4125, new Uri("http://explosm.net/comics/4125/")); mocker.GetMock<IExplosmWebClient>() .Setup(m => m.GetComicHtml(4124)) .Returns(result4124); mocker.GetMock<IExplosmWebClient>() .Setup(m => m.GetComicHtml(4125)) .Returns(result4125); _mocker = mocker; }
public void ItSkipsFailedComics() { var mocker = new AutoMoqer(); var result20151123 = new ComicDownloadResult( Fixture.Load("dilbert-2015-11-23"), 20151123, new Uri("http://dilbert.com/strip/2015-11-23")); mocker.GetMock<IDilbertWebClient>() .Setup(m => m.GetComicHtml(new DateTime(2015, 11, 23))) .Returns(result20151123); mocker.GetMock<IDilbertWebClient>() .Setup(m => m.GetComicHtml(new DateTime(2015, 11, 24))) .Throws(new ComicNotFoundException(new Uri("http://dilbert.com/strip/2015-11-24"))); var downloader = mocker.Create<DilbertDownloader>(); downloader.Today = new DateTime(2015,11,24); var lastComic = new Comic() { PublishedDate = new DateTime(2015, 11, 22) }; var comic = downloader.GetNewComicsSince(lastComic).Single(); Check.That(comic.PublishedDate).IsEqualTo(new DateTime(2015, 11, 23)); }