public void Execute_WhenNoCommands_ShouldReturnTrue()
        {
            // Arrange
            Mock<IParameters> parameters = new Mock<IParameters>();

            // Act
            PrecedingRequestCommandFactory target = new PrecedingRequestCommandFactory();
            var actual = target.Execute(parameters.Object);

            // Assert
            actual.Should().Be.True();
        }
        public void Execute_WhenCanHandleReturnsFalse_ShouldReturnTrue()
        {
            // Arrange
            Mock<IParameters> parameters = new Mock<IParameters>();
            Mock<IRequestCommand> requestBuilderMock = new Mock<IRequestCommand>();
            requestBuilderMock.Setup(m => m.CanHandle(parameters.Object)).Returns(false);

            // Act
            PrecedingRequestCommandFactory target = new PrecedingRequestCommandFactory(requestBuilderMock.Object);
            var actual = target.Execute(parameters.Object);

            // Assert
            actual.Should().Be.True();
            requestBuilderMock.Verify(m => m.Process(parameters.Object), Times.Never);
            requestBuilderMock.Verify(m => m.CanHandle(parameters.Object), Times.Once);
        }