public void WhenCreatedThenResponseHandlersAreSet()
        {
            var handlers = new List <OperationHandlerItem>();
            var factory  = new DelegateOperationHandlerFactory(Enumerable.Empty <MediaTypeFormatter>(), null, handlers);

            Assert.AreEqual(handlers, factory.createResponseHandlers);
        }
        public void WhenCreatedThenFormattersAreSet()
        {
            var formatters = new List <MediaTypeFormatter>();
            var formatter  = new TestMediaTypeFormatter();

            formatters.Add(formatter);
            var factory = new DelegateOperationHandlerFactory(formatters, null, null);

            Assert.IsTrue(formatters.Contains(formatter));
        }
        public void WhenCreateRequestHandlersIsCalledThenActionIsCalledOnHandlerItem()
        {
            bool actionCalled = false;
            var  handlerItem  = new OperationHandlerItem(c => actionCalled = true, (e, o) => true);
            var  handlers     = new List <OperationHandlerItem> {
                handlerItem
            };
            var factory  = new DelegateOperationHandlerFactory(Enumerable.Empty <MediaTypeFormatter>(), handlers, null);
            var contract = ContractDescription.GetContract(typeof(DummyService));

            factory.CreateRequestHandlers(new HttpEndpoint(contract), new HttpOperationDescription());
            Assert.IsTrue(actionCalled);
        }
        public void WhenCreateResponseHandlersIsCalledThenConditionIsCheckedOnHandlerItem()
        {
            bool conditionChecked = false;
            var  handlerItem      = new OperationHandlerItem(c => { }, (e, o) =>
            {
                conditionChecked = true;
                return(true);
            });
            var handlers = new List <OperationHandlerItem> {
                handlerItem
            };
            var factory  = new DelegateOperationHandlerFactory(Enumerable.Empty <MediaTypeFormatter>(), null, handlers);
            var contract = ContractDescription.GetContract(typeof(DummyService));

            factory.CreateResponseHandlers(new HttpEndpoint(contract), new HttpOperationDescription());
            Assert.IsTrue(conditionChecked);
        }