public CreditCardApplicationEvaluator(IFrequentFlayerNumberValidator validator, FraudLookup fraudLookup = null) { _validator = validator ?? throw new System.ArgumentNullException(nameof(validator)); _validator.ValidatorLookupPerformed += ValidatorLookupPerformed; _fraudLookup = fraudLookup; }
public void LinqToMocks() { //var mockValidator = new Mock<IFrequentFlayerNumberValidator>(); //mockValidator.Setup(x => x.ServiceInformation.License.LicenseKey).Returns("OK"); //mockValidator.Setup(x => x.IsValid(It.IsAny<string>())).Returns(true); IFrequentFlayerNumberValidator mockValidator = Mock.Of <IFrequentFlayerNumberValidator>( validator => validator.ServiceInformation.License.LicenseKey == "OK" && validator.IsValid(It.IsAny <string>()) == true ); var sut = new CreditCardApplicationEvaluator(mockValidator); var application = new CreditCardApplication { Age = 25 }; var decision = sut.Evaluate(application); Assert.Equal(CreditCardApplicationDecision.AutoDeclined, decision); }