public CreditCardApplicationEvaluator(IFrequentFlayerNumberValidator validator, FraudLookup fraudLookup = null)
        {
            _validator = validator ??
                         throw new System.ArgumentNullException(nameof(validator));

            _validator.ValidatorLookupPerformed += ValidatorLookupPerformed;
            _fraudLookup = fraudLookup;
        }
Example #2
0
        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);
        }