public void AbortAll_WorkCompletedAnyway()
        {
            ManualThreadManager uut = GetInstance(10) as ManualThreadManager;

            int count = 0;

            uut.DoWork(() => { System.Threading.Thread.Sleep(50); Interlocked.Increment(ref count); });
            uut.DoWork(() => { System.Threading.Thread.Sleep(50); Interlocked.Increment(ref count); });
            uut.DoWork(() => { System.Threading.Thread.Sleep(50); Interlocked.Increment(ref count); });
            uut.DoWork(() => { System.Threading.Thread.Sleep(50); Interlocked.Increment(ref count); });
            uut.DoWork(() => { System.Threading.Thread.Sleep(50); Interlocked.Increment(ref count); });

            uut.AbortAll();//this does nothing to stop/cancel threads on this thread manager

            System.Threading.Thread.Sleep(250);
            Assert.AreEqual(5, count);
        }
Пример #2
0
        public void SetUp()
        {
            _fakeHyperLinkParser     = new Mock <IHyperLinkParser>();
            _fakeHttpRequester       = new Mock <IPageRequester>();
            _fakeCrawlDecisionMaker  = new Mock <ICrawlDecisionMaker>();
            _fakeDomainRateLimiter   = new Mock <IDomainRateLimiter>();
            _fakeMemoryManager       = new Mock <IMemoryManager>();
            _fakeRobotsDotTextFinder = new Mock <IRobotsDotTextFinder>();
            _fakeRobotsDotText       = new Mock <IRobotsDotText>();

            _dummyScheduler     = new Scheduler();
            _dummyThreadManager = new ManualThreadManager(1);
            _dummyConfiguration = new CrawlConfiguration();
            _dummyConfiguration.ConfigurationExtensions.Add("somekey", "someval");

            _rootUri = new Uri("http://a.com/");
        }
Пример #3
0
        public void SetUp()
        {
            _fakeHyperLinkParser = new Mock<IHyperLinkParser>();
            _fakeHttpRequester = new Mock<IPageRequester>();
            _fakeCrawlDecisionMaker = new Mock<ICrawlDecisionMaker>();
            _fakeDomainRateLimiter = new Mock<IDomainRateLimiter>();
            _fakeMemoryManager = new Mock<IMemoryManager>();
            _fakeRobotsDotTextFinder = new Mock<IRobotsDotTextFinder>();
            _fakeRobotsDotText = new Mock<IRobotsDotText>();

            _dummyScheduler = new Scheduler();
            _dummyThreadManager = new ManualThreadManager(1);
            _dummyConfiguration = new CrawlConfiguration();
            _dummyConfiguration.ConfigurationExtensions.Add("somekey", "someval");

            _rootUri = new Uri("http://a.com/");
        }