public ParallelUrlCollectingService(IPageService pageDownloadingService, IUrlParsingService urlParsingService)
 {
     this.pageService       = pageDownloadingService;
     this.urlParsingService = urlParsingService;
     urlsDictionary         = new ConcurrentDictionary <string, int>();
     tasks = new List <Task>();
 }
        public void Initialize()
        {
            List <UrlEntity> urls1 = new List <UrlEntity>()
            {
                new UrlEntity()
                {
                    URL = "/wiki/Dominic_Serventy"
                },
                new UrlEntity()
                {
                    URL = "/wiki/World_War_I"
                },
                new UrlEntity()
                {
                    URL = "/wiki/United_Kingdom"
                }
            };
            List <UrlEntity> urls2 = new List <UrlEntity>()
            {
                new UrlEntity()
                {
                    URL = "/wiki/George_Pearce"
                },
                new UrlEntity()
                {
                    URL = "/wiki/Movietone_News"
                },
                new UrlEntity()
                {
                    URL = "/wiki/World_War_I"
                }
            };

            pageDownloadingService = Substitute.For <IPageService>();
            urlParsingService      = Substitute.For <IUrlParsingService>();
            urlParsingService.ExtractAllUrlsFromPage(Arg.Any <string>(), 1).Returns(urls1);
            urlParsingService.ExtractAllUrlsFromPage(Arg.Any <string>(), 2).Returns(urls2);
        }