public void should_raise_exception_when_append_single_messagehandler_to_queued_handler() { DelegatingHandler[] handlers = CreateHandlers(3); DelegatingHandler handlerChain = CreateTopBottomHandler(handlers, true); var toAppend = new TestQueueHandler("appended"); Assert.Throws <InvalidOperationException>(() => handlerChain.Append(toAppend), "should not be able to add two chains with queue"); }
public void i_can_append_single_delegate_to_queued_handler() { DelegatingHandler[] handlers = CreateHandlers(3); DelegatingHandler handlerChain = CreateTopBottomHandler(handlers, true); TestHandler toAppend = new TestHandler("appended"); handlerChain.Append(toAppend); Assert.AreEqual(toAppend, handlers.Last().InnerHandler, "handler has not been appended"); }
public void i_can_append_multiple_delegate_to_not_queued_handler() { DelegatingHandler[] handlers = CreateHandlers(3); DelegatingHandler handlerChain = CreateTopBottomHandler(handlers); DelegatingHandler[] handlersToAppend = CreateHandlers(3, 4); DelegatingHandler toAppend = CreateTopBottomHandler(handlersToAppend); handlerChain.Append(toAppend); Assert.AreEqual(toAppend, handlers.Last().InnerHandler, "handler has not been appended"); }
public void i_can_append_multiple_delegate_to_queued_handler() { DelegatingHandler[] handlers = CreateHandlers(3); DelegatingHandler handlerChain = CreateTopBottomHandler(handlers, true); DelegatingHandler[] handlersToAppend = CreateHandlers(3, 4); DelegatingHandler toAppend = CreateTopBottomHandler(handlersToAppend); handlerChain.Append(toAppend); Assert.AreEqual(toAppend, handlers.Last().InnerHandler, "handler has not been appended"); Assert.IsInstanceOf <TestQueueHandler>(handlersToAppend.Last().InnerHandler, "queue has not been appended to appended chain"); }