public void Returns_failure_result_if_ExecuteImplementation_throws_exception()
            {
                //Arrange
                MoqCommand.Setup(m => m.ExecuteImplementation()).Throws(new Exception());

                //Act
                var result = Command.Execute();

                //Assert
                MoqCommand.Verify(m => m.ExecuteImplementation(), Times.Once());
                Assert.AreEqual(ResultState.Failure, result.State);
            }
            public void Returns_ExceuteImplementation_result()
            {
                //Arrange
                var expectedResult = new SuccessResult();

                MoqCommand.Setup(m => m.ExecuteImplementation(It.IsAny <object>())).Returns(expectedResult);

                //Act
                var result = Command.Execute(null);

                //Assert
                Assert.AreSame(expectedResult, result);
            }