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));
        }
Exemple #2
0
        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)));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }