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); }
internal void Reprocess(IReadOnlyList <DbEntity> entities) { ProcessedSet.Clear(); Process(entities); }