Exemple #1
0
        public async Task MangaReader_Test()
        {
            string url     = "http://www.mangareader.net/naruto";
            var    service = new MangaReader(_logger, new Downloader(_logger), new HtmlAtilityPackAdapter());
            // Test service can find chapters
            var chapters = await service.FindChapters(url, new Progress <int>(), _source.Token);

            Assert.IsTrue(chapters.Any(), "Cannot find chapters.");
            // Test chapters are in correct order.
            var chapter = chapters.Last();

            Assert.AreEqual("Naruto", chapter.Manga);
            Assert.AreEqual("Naruto 1", chapter.DisplayName);
            Assert.AreEqual("http://www.mangareader.net/naruto/1", chapter.Url);
            // Test there're no duplicated chapters.
            var anyDuplicated = chapters.GroupBy(x => x.Url).Any(g => g.Count() > 1);

            Assert.IsFalse(anyDuplicated, "There're duplicated chapters.");
            // Test service can find images.
            var images = await service.FindImages(chapter, new Progress <int>(), _source.Token);

            Assert.AreEqual(53, images.Count());
            Assert.AreEqual("http://i10.mangareader.net/naruto/1/naruto-1564773.jpg", images.ToArray()[0]);
            Assert.AreEqual("http://i4.mangareader.net/naruto/1/naruto-1564774.jpg", images.ToArray()[1]);
            Assert.AreEqual("http://i1.mangareader.net/naruto/1/naruto-1564825.jpg", images.ToArray()[52]);

            string imageString = await downloader.DownloadStringAsync(images.ToArray()[0], _source.Token);

            Assert.IsNotNull(imageString, "Cannot download image!");
        }
Exemple #2
0
 public MangaReaderTests()
 {
     source     = new CancellationTokenSource();
     logger     = new Mock <ILogger>().Object;
     downloader = new HttpDownloader(new FilenameDetector(new GoogleProxyFilenameDetector()));
     service    = new MangaReader(logger, downloader, new XPathSelector());
 }