public void GivenNullCall_MustThrowException() { var mgr = new NullDownloadManager(); var saver = new NullSaver(); Assert.ThrowsException <ArgumentNullException>(() => DownloadCenterHelper.CreateDownloadCenter(null, mgr, saver)); Assert.ThrowsException <ArgumentNullException>(() => DownloadCenterHelper.CreateQueneDownloadCenter(null, saver)); Assert.ThrowsException <ArgumentNullException>(() => DownloadCenterHelper.CreateDownloadCenterFromService(null)); }
public void GivenAnyNullValueToEmit_MustThrowException() { var mgr = new RecyclableMemoryStreamManager(); var sourceProvider = new ResourceComicProvider(); var saver = new NullSaver(); Assert.ThrowsException <ArgumentNullException>(() => new ComicDownloader(mgr).EmitTasks(null)); Assert.ThrowsException <ArgumentNullException>(() => new ComicDownloader(mgr).EmitTasks(new ComicDownloadRequest(saver, null, null, null, sourceProvider))); Assert.ThrowsException <ArgumentNullException>(() => new ComicDownloader(mgr).EmitTasks(new ComicDownloadRequest(null, null, null, new DownloadItemRequest[0], sourceProvider))); Assert.ThrowsException <ArgumentNullException>(() => new ComicDownloader(mgr).EmitTasks(new ComicDownloadRequest(saver, null, null, null, sourceProvider))); }
private ComicDownloadRequest CreateRequest(int count) { var sourceProvider = new ResourceComicProvider(); var saver = new NullSaver(); var reqs = Enumerable.Range(0, count) .Select(x => new DownloadItemRequest(new ComicPage { TargetUrl = "-no-" })) .ToArray(); var req = new ComicDownloadRequest(saver, null, null, reqs, sourceProvider); return(req); }
public async Task EmitTaskWithListener_ThrowException_TheMethodWasCalled() { var sourceProvider = new ExceptionComicProvider(); var saver = new NullSaver(); var reqs = Enumerable.Range(0, 1) .Select(x => new DownloadItemRequest(new ComicPage { TargetUrl = "-no-" })) .ToArray(); var mgr = new RecyclableMemoryStreamManager(); var req = new ComicDownloadRequest(saver, null, null, reqs, sourceProvider); var downloader = new ComicDownloader(mgr); var listener = new NullDownloadListener(); req.Listener = listener; var res = downloader.EmitTasks(req); await res[0](); Assert.IsTrue(listener.IsFetchPageExceptionAsync); }
public void GivenValueCreateDownloadCenter_MustReturnValue() { var mgr = new NullDownloadManager(); var saver = new NullSaver(); var provider = new ValueServiceProvider { ServiceMap = new Dictionary <Type, Func <object> > { [typeof(IComicSaver)] = () => saver, [typeof(IDownloadManager)] = () => mgr, } }; var center = DownloadCenterHelper.CreateDownloadCenter( provider, mgr, saver); Assert.IsNotNull(center); center = DownloadCenterHelper.CreateQueneDownloadCenter(provider, saver); Assert.IsNotNull(center); center = DownloadCenterHelper.CreateDownloadCenterFromService(provider); Assert.IsNotNull(center); }