private void ExpectExecuteCallAndRunTheRunnableInNewThread() { _executor.Stub(e => e.Execute(Arg <IRunnable> .Is.NotNull)) .WhenCalled(m => ThreadManager.StartAndAssertRegistered( "T1", ((IRunnable)m.Arguments[0]).Run)); }
[Test] public void InvokeAnyCopiesContextWhenNewTaskForCallWasOverriden([Values(true, false)] bool isTimed) { var cc = SetupContextCarrier(); var runnableFuture = MockRepository.GenerateMock <IRunnableFuture <T> >(); _call.Stub(x => x()).Return(TestData <T> .Four); _sut.Stub(x => x.NewTaskFor(Arg <Func <T> > .Is.NotNull)).Return(runnableFuture); runnableFuture.Stub(x => x.Run()).Do(new Action(() => _call())); if (isTimed) { _sut.InvokeAny(Delays.Small, _call, _call); } else { _sut.InvokeAny(_call, _call); } runnableFuture.AssertWasCalled(x => x.Run()); Mockery.Assert(cc.ActivityOf(x => x.Restore()).First < _call.ActivityOf(x => x()).First); }
[SetUp] public void SetUp() { _sut = Mockery.GeneratePartialMock <AbstractExecutorService>(); _runnable = MockRepository.GenerateMock <IRunnable>(); _action = MockRepository.GenerateMock <Action>(); _calls = new Func <T> [_size]; _callables = new ICallable <T> [_size]; for (int i = _size - 1; i >= 0; i--) { _callables[i] = MockRepository.GenerateMock <ICallable <T> >(); _calls[i] = MockRepository.GenerateMock <Func <T> >(); } _call = _calls[0]; _callable = _callables[0]; _sut.Stub(x => x.Protected <Action <IRunnable> >("DoExecute")(Arg <IRunnable> .Is.NotNull)) .Do(new Action <IRunnable>(Execute)); _actionOnExecute = r => r.Run(); // Default run it. ThreadManager = new TestThreadManager(); }