コード例 #1
0
        public void Build_Execute_ExpectedBehaviour(bool hasNextHandler, bool hasAppendHandlers)
        {
            // Arrange
            var handlerMock = Substitute.For <IApiHttpRequestHandler>();
            var factoryMock = Substitute.For <IApiHttpHandlerFactory>();

            factoryMock.GetHandler(typeof(ApiHttpRequestHandlerMock)).Returns(handlerMock);

            var binding = new ApiHttpRequestHandlerBinding(factoryMock, typeof(ApiHttpRequestHandlerMock));

            var nextHandlersAssert   = hasNextHandler ? ArrangeNext(handlerMock, binding) : () => handlerMock.Received(0).SetNextHandler(Arg.Any <IApiHttpRequestHandler>());
            var appendHandlersAssert = hasAppendHandlers ? ArrangeHandlers(handlerMock, binding) : () => handlerMock.Received(0).AppendHandler(Arg.Any <IApiHttpRequestHandler>());

            // Act
            var handler = binding.Build();

            // Assert
            Assert.Same(handlerMock, handler);

            nextHandlersAssert.Invoke();
            appendHandlersAssert.Invoke();
        }