public CreditCardApplicationEvaluator(IFrequentFlyerNumberValidator validator,
                                       FraudLookup fraudLookup = null)
 {
     _validator = validator ?? throw new System.ArgumentException(nameof(validator));
     _validator.ValidatorLookupPerformed += ValidatorLookupPerformed;
     _fraudLookup = fraudLookup;
 }
示例#2
0
        public void LinqMocks()
        {
            //var mockValidator = new Mock<IFrequentFlyerNumberValidator>();
            //mockValidator.Setup(x => x.ServiceInformation.License.LicenseKey).Returns("OK");
            //mockValidator.Setup(x => x.IsValid(It.IsAny<string>())).Returns(true);

            //var sut = new CreditCardApplicationEvaluator(mockValidator.Object);

            IFrequentFlyerNumberValidator mockValidator =
                Mock.Of <IFrequentFlyerNumberValidator>
                (
                    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);
        }
        public void LinqToMocks()
        {
            //Fluent Syntax
            //_mockValidator.Setup(x => x.ServiceInformation.License.LicenseKey).Returns("OK");
            //_mockValidator.Setup(x => x.IsValid(It.IsAny<string>())).Returns(true);

            //LinqToMock Syntax
            IFrequentFlyerNumberValidator mockValidator = Mock.Of <IFrequentFlyerNumberValidator>
                                                          (
                validator =>
                validator.ServiceInformation.License.LicenseKey == "OK" &&
                validator.IsValid(It.IsAny <string>()) == true
                                                          );

            CreditCardApplication application = new CreditCardApplication
            {
                Age = 25
            };
            //CreditCardApplicationDecision decision = _sut.Evaluate(application);

            CreditCardApplicationEvaluator sut      = new CreditCardApplicationEvaluator(mockValidator);
            CreditCardApplicationDecision  decision = sut.Evaluate(application);

            Assert.Equal(CreditCardApplicationDecision.AutoDeclined, decision);
        }
        public void LinqToMocks()
        {
            //Mock<IFrequentFlyerNumberValidator> mockValidator = new();
            //mockValidator.Setup(x => x.ServiceInformation.License.LicenseKey).Returns("OK");
            //mockValidator.Setup(x => x.IsValid(It.IsAny<string>())).Returns(true);

            IFrequentFlyerNumberValidator mockValidator = Mock.Of <IFrequentFlyerNumberValidator>(
                validator =>
                validator.ServiceInformation.License.LicenseKey == "OK" &&
                validator.IsValid(It.IsAny <string>()));

            CreditCardApplicationEvaluator sut = new(mockValidator);

            CreditCardApplication application = new() { Age = 25 };

            CreditCardApplicationDecision decision = sut.Evaluate(application);

            Assert.Equal(CreditCardApplicationDecision.AutoDeclined, decision);
        }

        // DEMO FOR MOCKING ASYNCHRONOUS CODE

        //public interface IDemoInterfaceAsync
        //{
        //    Task StartAsync();
        //    Task<int> StopAsync();
        //}

        //var mock = new Mock<IDemoInterfaceAsync>();
        //mock.Setup(x => x.StartAsync()).Returns(Task.CompletedTask);

        //mock.Setup(x => x.StopAsync()).Returns(Task.FromResult(42));
        //mock.Setup(x => x.StopAsync()).ReturnsAsync(42);
    }
示例#5
0
 public CreditCardApplicationEvaluator(IFrequentFlyerNumberValidator validator)
 {
     if (validator == null)
     {
         throw new ArgumentNullException(nameof(validator));
     }
     _validator = validator;
 }
示例#6
0
        public void LinqToMocks()
        {
            IFrequentFlyerNumberValidator mockValidator = Mock.Of <IFrequentFlyerNumberValidator>(
                validator => validator.ServiceInformation.License.LicenseKey == "OK" &&
                validator.IsValid(It.IsAny <string>()) == true
                );
            var sut = new CreditCardApplicationEvaluator(mockValidator);
            //var application = new CreditCardApplication();
            var application = new CreditCardApplication {
                Age = 25, FrequentFlyerNumber = "x"
            };

            var decision = sut.Evaluate(application);

            Assert.Equal(CreditCardApplicationDecision.AutoDeclined, decision);
        }
        public void LinqToMocks()
        {
            IFrequentFlyerNumberValidator mockValidator = Mock.Of <IFrequentFlyerNumberValidator>
                                                          (
                validitor =>
                validitor.ServiceInformation.License.LicenseKey == "OK" &&
                validitor.IsValid(It.IsAny <string>()) == true
                                                          );

            // "Override" sut in class field to demonstrate LINQ setup
            var sut = new CreditCardApplicationEvaluator(mockValidator);

            var application = new CreditCardApplication {
                Age = 25
            };

            CreditCardApplicationDecision decision = sut.Evaluate(application);

            Assert.Equal(CreditCardApplicationDecision.AutoDeclined, decision);
        }
示例#8
0
 public CreditCardApplicationEvaluator(IFrequentFlyerNumberValidator validator)
 {
     _validator = validator;
 }
 public CreditCardApplicationEvaluator(IFrequentFlyerNumberValidator validator)
 {
     _validator = validator ?? throw new System.ArgumentNullException(nameof(validator));
 }
示例#10
0
 public CreditCardApplicationEvaluator(IFrequentFlyerNumberValidator validator, FraudLookUp lookUp = null)
 {
     this.validator   = validator;
     this.fraudLookUp = lookUp;
     this.validator.ValidatorLookUpPerformed += ValidatorLookupPerformed;
 }
 public CreditCardApplicationEvaluator(IFrequentFlyerNumberValidator validator, FraudLookup fraudLookup = null)
 {
     this.validator = validator ?? throw new ArgumentNullException(nameof(validator));
     this.validator.ValidatorLookupPerformed += this.ValidatorLookupPerformed;
     this.fraudLookup = fraudLookup;
 }
 public CreditCardApplicationEvaluator(IFrequentFlyerNumberValidator validator)
 {
     //TODO: 01 - Agrego una validación en el constructor
     _validator = validator ?? throw new ArgumentNullException(nameof(validator));
 }
 public CreditCarApplicationEvaluator(IFrequentFlyerNumberValidator frequentFlyerNumberValidator)
 {
     _frequentFlyerNumberValidator = frequentFlyerNumberValidator;
 }
示例#14
0
 public CreditCardApplicationEvaluator(IFrequentFlyerNumberValidator frequentFlyerNumber)
 {
     this._FrecuentFlyerNumber = frequentFlyerNumber != null? frequentFlyerNumber : throw new ArgumentNullException(nameof(_FrecuentFlyerNumber));
 }
示例#15
0
 public EvaluatorManager(IFrequentFlyerNumberValidator validator)
 {
     _validator = validator;
 }
 public CreditCardApplicationEvaluator(IFrequentFlyerNumberValidator validator,
                                       FraudLookup fraudLookup = null)
 {
     _validator   = validator ?? throw new ArgumentNullException(nameof(validator));
     _fraudLookup = fraudLookup;
 }