Beispiel #1
0
        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());
        }
Beispiel #2
0
 public FubuContinuationFailurePolicy(Func <Type, bool> predicate, IFubuRequest request,
                                      FubuContinuation continuation, ContinuationHandler handler)
 {
     _predicate    = predicate;
     _handler      = handler;
     _continuation = continuation;
     _request      = request;
 }
Beispiel #3
0
        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;
 }