public void ExecuteDropsTaskOnShutdownWithDiscardPolicy() { IRejectedExecutionHandler h = new ThreadPoolExecutor.DiscardPolicy(); ExecutorService = new ThreadPoolExecutor(1, 1, Delays.Long, new ArrayBlockingQueue <IRunnable>(1), h); AssertExecutorDropsTaskOnShutdown(ExecutorService); }
public void SetUp() { _queue = MockRepository.GenerateStub <IBlockingQueue <IRunnable> >(); _runnable = MockRepository.GenerateMock <IRunnable>(); _discardPolicy = new ThreadPoolExecutor.DiscardPolicy(); _threadPoolExecutor = Mockery.GenerateStrickMock <ThreadPoolExecutor>(1, 1, TimeSpan.FromSeconds(1), _queue); }
public void ExecuteDropsTaskWhenSaturatedWithDiscardPolicy() { IRejectedExecutionHandler h = new ThreadPoolExecutor.DiscardPolicy(); var es = new ThreadPoolExecutor(1, 1, Delays.Long, new ArrayBlockingQueue <IRunnable>(1), h); ExecutorService = es; IRunnable[] tasks = new IRunnable[_size]; for (int i = 0; i < _size; ++i) { tasks[i] = MockRepository.GenerateStub <IRunnable>(); } es.Execute(_mediumInterruptableAction); for (int i = 0; i < _size; ++i) { es.Execute(tasks[i]); } for (int i = 1; i < _size; ++i) { tasks[i].AssertWasNotCalled(r => r.Run()); } InterruptAndJoinPool(es); ThreadManager.JoinAndVerify(); }
public void SetUp() { _queue = MockRepository.GenerateStub<IBlockingQueue<IRunnable>>(); _runnable = MockRepository.GenerateMock<IRunnable>(); _discardPolicy = new ThreadPoolExecutor.DiscardPolicy(); _threadPoolExecutor = Mockery.GenerateStrickMock<ThreadPoolExecutor>(1, 1, TimeSpan.FromSeconds(1), _queue); }