Пример #1
0
        public async void SpiderProcesses_Crawl_ReturnsCrawledAnchor()
        {
            var logger          = new Mock <ILogger <QueueSpider> >();
            var serviceProvider = new Mock <IServiceProvider>();
            var uriQueue        = new ObservableUriQueue();
            var processedSet    = new ProcessedSet();

            serviceProvider
            .Setup(x => x.GetService(typeof(IUriParser)))
            .Returns(new MockUriParser());
            uriQueue.Enqueue(new Anchor {
                Uri = new Uri("http://testurl.com/")
            });

            var queueSpider = new QueueSpider(logger.Object, serviceProvider.Object, uriQueue, processedSet);
            await queueSpider.Crawl();

            Assert.True(processedSet.Processed("http://testurl2.com/"));
            Assert.True(uriQueue.IsEmpty);
        }
Пример #2
0
 internal void Reprocess(IReadOnlyList <DbEntity> entities)
 {
     ProcessedSet.Clear();
     Process(entities);
 }