public void perform_invoke_processes_handler() { //Arrange var urlRegistry = MockRepository.GenerateStub <IUrlRegistry>(); var outputWriter = MockRepository.GenerateStub <IOutputWriter>(); var fubuRequest = MockRepository.GenerateStub <IFubuRequest>(); var continuation = FubuContinuation.TransferTo(new object()); fubuRequest.Stub(r => r.Get <FubuContinuation>()).Return(continuation); fubuRequest.Stub(r => r.Find <IRedirectable>()).Return(new IRedirectable[0]); var partialFactory = MockRepository.GenerateStub <IPartialFactory>(); var partialBehavior = MockRepository.GenerateStub <IActionBehavior>(); partialFactory.Stub(f => f.BuildPartial(typeof(object))).Return(partialBehavior); var handler = new ContinuationHandler(urlRegistry, outputWriter, fubuRequest, partialFactory); var insideBehavior = MockRepository.GenerateStub <IActionBehavior>(); handler.InsideBehavior = insideBehavior; //Act handler.Invoke(); //Assert TransferTo was called by _request.Get<FubuContinuation>().Process(this); partialFactory.AssertWasCalled(f => f.BuildPartial(typeof(object))); partialBehavior.AssertWasCalled(p => p.InvokePartial()); //Assert performInvoke() returned Stop insideBehavior.AssertWasNotCalled(b => b.Invoke()); }
public FubuContinuationFailurePolicy(Func <Type, bool> predicate, IFubuRequest request, FubuContinuation continuation, ContinuationHandler handler) { _predicate = predicate; _handler = handler; _continuation = continuation; _request = request; }
public void transfer_to_null_throws() { var urlRegistry = MockRepository.GenerateStub <IUrlRegistry>(); var outputWriter = MockRepository.GenerateStub <IOutputWriter>(); var fubuRequest = MockRepository.GenerateStub <IFubuRequest>(); var partialFactory = MockRepository.GenerateStub <IPartialFactory>(); var handler = new ContinuationHandler(urlRegistry, outputWriter, fubuRequest, partialFactory); var exception = typeof(ArgumentNullException).ShouldBeThrownBy(() => handler.TransferTo(null)) as ArgumentNullException; exception.ShouldNotBeNull(); exception.ParamName.ShouldEqual("input"); }
public MWContinuation(MonoBehaviour owner, IEnumerator task, ContinuationHandler then = null) { _owner = owner; _task = task; _then = then; }
public MWContinuation(Node owner, IEnumerator task, ContinuationHandler then = null) { _owner = owner; _task = task; _then = then; }