private void ExpectExecuteCallAndRunTheRunnableInNewThread()
 {
     _executor.Stub(e => e.Execute(Arg <IRunnable> .Is.NotNull))
     .WhenCalled(m => ThreadManager.StartAndAssertRegistered(
                     "T1",
                     ((IRunnable)m.Arguments[0]).Run));
 }
Пример #2
0
        [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);
        }
Пример #3
0
        [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();
        }