public void Test_Verify_FasterPaymentPaymentSchemeValidator_Result_With_Null_Account()
        {
            // arrange
            FasterPaymentSchemeValidator fasterPaymentSchemeValidator = new FasterPaymentSchemeValidator();

            // act
            MakePaymentResult makePaymentResult =
                fasterPaymentSchemeValidator.IsAccountValid(null, _makePaymentRequest);

            // assert
            Assert.IsFalse(makePaymentResult.Success);
        }
        public void Test_Verify_FasterPaymentPaymentSchemeValidator_Result(AllowedPaymentSchemes paymentScheme, bool validationResult)
        {
            // arrange
            FasterPaymentSchemeValidator fasterPaymentSchemeValidator = new FasterPaymentSchemeValidator();

            _account.AllowedPaymentSchemes = paymentScheme;

            // act
            MakePaymentResult makePaymentResult =
                fasterPaymentSchemeValidator.IsAccountValid(_account, _makePaymentRequest);

            // assert
            Assert.AreEqual(makePaymentResult.Success, validationResult);
        }
        public void Test_Verify_FasterPaymentPaymentSchemeValidator_Result_When_Account_Balance_GreatertThan_Requested_Amount(AllowedPaymentSchemes paymentScheme, bool validationResult)
        {
            // arrange
            FasterPaymentSchemeValidator fasterPaymentSchemeValidator = new FasterPaymentSchemeValidator();

            _account.AllowedPaymentSchemes = paymentScheme;
            _account.Balance           = 10;
            _makePaymentRequest.Amount = 20;

            // act
            MakePaymentResult makePaymentResult =
                fasterPaymentSchemeValidator.IsAccountValid(_account, _makePaymentRequest);

            // assert
            Assert.AreEqual(makePaymentResult.Success, validationResult);
        }