public void ExecuteSuceedAllActionsTest()
    {
        _mockedActionHandler1 = MockActionHandler(true);
        _mockedActionHandler2 = MockActionHandler(true);
        _chainedActionHandler = new ChainedActionHandler(
            new List <IActionHandler>(
                new[] { _mockedActionHandler1.Object, _mockedActionHandler2.Object }));

        var result = _chainedActionHandler.Execute();

        Assert.IsTrue(result);
        _mockedActionHandler1.Verify(x => x.Execute(), Times.Exactly(1));
        _mockedActionHandler2.Verify(x => x.Execute(), Times.Exactly(1));
    }
    public void ExecuteFailOnFirstActionTest()
    {
        _mockedActionHandler1 = MockActionHandler(false);
        _mockedActionHandler2 = MockActionHandler(true);
        _chainedActionHandler = new ChainedActionHandler(
            new List <IActionHandler>(
                new[] { _mockedActionHandler1.Object, _mockedActionHandler2.Object }));

        var result = _chainedActionHandler.Execute();

        Assert.IsFalse(result);
        _mockedActionHandler1.Verify(x => x.Execute(), Times.Exactly(1));
        _mockedActionHandler2.Verify(x => x.Execute(), Times.Never);
    }