Ejemplo n.º 1
0
        public void RulesTests_DebitCardAccountRule_PassesFor_ClassicBundle()
        {
            var bundle = new ClassicBundle().GetDefault;

            var rule = new DebitCardAccountRule();

            var result = rule.Execute(bundle);

            Assert.IsTrue(result);
        }
Ejemplo n.º 2
0
        public void ProductBundleService_GetsAnswersFor_ClassicBundle()
        {
            var bundle  = new ClassicBundle();
            var answers = _productBundleService.GetRulesConditions(bundle);

            var expectedAnswers = new[]
            {
                "Age > 17",
                "Income > 0"
            };

            Assert.IsTrue(answers.Length == expectedAnswers.Length);
            Assert.IsTrue(answers.All(expectedAnswers.Contains));
        }
        public void ProductBundleService_ModifyBundle_Returns_ClassicBundle(int income)
        {
            var classicBundle = new ClassicBundle();

            var response = _productBundleService.ModifyBundle
                           (
                new Answers
            {
                AgeAnswer     = new AgeAnswer(18),
                StudentAnswer = new StudentAnswer(true),
                IncomeAnswer  = new IncomeAnswer(income)
            },
                classicBundle,
                new Product[] { new CurrentAccount(), new DebitCard() }
                           );

            Assert.IsInstanceOf <ClassicBundle>(response.ResultBundle);
        }
        public void ProductBundleService_ModifyBundle_Returns_StudentBundleForRichStudent()
        {
            var classicBundle = new ClassicBundle();

            var response = _productBundleService.ModifyBundle
                           (
                new Answers
            {
                AgeAnswer     = new AgeAnswer(18),
                StudentAnswer = new StudentAnswer(true),
                IncomeAnswer  = new IncomeAnswer(IncomeRangeEnum.Range_12001_40000)
            },
                classicBundle,
                new Product[] { new StudentAccount(), new DebitCard(), new CreditCard() }
                           );

            Assert.IsInstanceOf <StudentBundle>(response.ResultBundle);
        }