public void Validate_Should_Return_Success_False_When_Account_Is_Null()
        {
            var request = _fixture.Create <MakePaymentRequest>();

            var result = _sut.Validate(request, null);

            Assert.IsNotNull(result);
            Assert.That(result.Success, Is.False);
        }
        public MakePaymentResult MakePayment(MakePaymentRequest request)
        {
            var account = _accountDataStore.GetAccount(request.DebtorAccountNumber);
            var result  = _accountStateValidator.Validate(request, account);

            if (result.Success)
            {
                account.Balance -= request.Amount;
                _accountDataStore.UpdateAccount(account);
            }

            return(result);
        }