FubuMVC.Core.Continuations.ContinuationHandler.TransferTo C# (CSharp) Method

TransferTo() public method

public TransferTo ( object input, string categoryOrHttpMethod = null ) : Task
input object
categoryOrHttpMethod string
return Task
        public Task TransferTo(object input, string categoryOrHttpMethod = null)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

            _request.SetObject(input);

            var chain = _resolver.FindUnique(input, categoryOrHttpMethod);

            var partial = _factory.BuildBehavior(chain);
            return partial.InvokePartial();
        }

Usage Example

        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");
        }