public void IsAccountInValidState_WhenAccountAllowedPaymentSchemesSetToSpecificValue_ReturnsCorrectResponse
            (AllowedPaymentSchemes allowedPaymentSchemes, AccountStatus status, bool expectedValidity)
        {
            var sut = new ChapsPaymentSchemeValidator(new Account {
                AllowedPaymentSchemes = allowedPaymentSchemes, Status = status
            });

            sut.IsAccountInValidState().Should().Be(expectedValidity);
        }
        public void Test_Verify_ChapsPaymentSchemeValidator_Result_With_Null_Account()
        {
            // arrange
            ChapsPaymentSchemeValidator chapsPaymentSchemeValidator = new ChapsPaymentSchemeValidator();

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

            // assert
            Assert.IsFalse(makePaymentResult.Success);
        }
        public void Test_Verify_ChapsPaymentSchemeValidator_Result(AllowedPaymentSchemes paymentScheme, bool validationResult)
        {
            // arrange
            ChapsPaymentSchemeValidator chapsPaymentSchemeValidator = new ChapsPaymentSchemeValidator();

            _account.AllowedPaymentSchemes = paymentScheme;

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

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