public void TestExecute_InvokesProvidedAction()
            {
                var actionMock      = new Mock <Action>();
                var objectUnderTest = new ProtectedCommand(actionMock.Object);

                objectUnderTest.Execute(null);

                actionMock.Verify(f => f(), Times.Once);
            }
            public void TestExecute_InvokesProvidedActionWithArgument()
            {
                var actionMock      = new Mock <Action <object> >();
                var objectUnderTest = new ProtectedCommand <object>(actionMock.Object);

                var argument = new object();

                objectUnderTest.Execute(argument);

                actionMock.Verify(f => f(argument), Times.Once);
            }