Exemple #1
0
        public void ProductListgetFilteredItemsTest()
        {
            List <ProductAmountPrice> list = Factory.getList();

            List <int> idList = new List <int>();

            idList.Add(list.ElementAt(0).product.id);
            idList.Add(list.ElementAt(1).product.id);

            ProductListFilter         filter      = new ProductListFilter(idList);
            List <ProductAmountPrice> filterdList = filter.getFilteredItems(list);

            Assert.AreEqual(idList.Count, filterdList.Count);
            Assert.IsTrue(filterdList.Contains(list.ElementAt(0)));
            Assert.IsTrue(filterdList.Contains(list.ElementAt(1)));
            Assert.IsFalse(filterdList.Contains(list.ElementAt(2)));
            Assert.IsFalse(filterdList.Contains(list.ElementAt(3)));
        }
        public void checkConsistency()
        {
            int            min = 10, max = 5;
            TrueCondition  trueCondition  = new TrueCondition();
            FalseCondition falseCondition = new FalseCondition();

            Assert.IsFalse(trueCondition.checkConsistent(falseCondition), "1");
            Assert.IsFalse(falseCondition.checkConsistent(trueCondition), "2");

            MinAmount minAmount = new MinAmount(min, new AllProductsFilter());
            MaxAmount maxAmount = new MaxAmount(max, new AllProductsFilter());

            Assert.IsFalse(minAmount.checkConsistent(maxAmount), "3");
            Assert.IsFalse(maxAmount.checkConsistent(minAmount), "4");

            List <IBooleanExpression> list = new List <IBooleanExpression>();

            list.Add(trueCondition);
            list.Add(minAmount);

            Assert.IsFalse(IBooleanExpression.confirmListConsist(falseCondition, list));
            Assert.IsFalse(IBooleanExpression.confirmListConsist(maxAmount, list));

            List <int> list1 = new List <int>();

            list1.Add(1);
            List <int> list2 = new List <int>();

            list2.Add(2);
            ProductListFilter f1         = new ProductListFilter(list1);
            ProductListFilter f2         = new ProductListFilter(list2);
            MinAmount         minAmount2 = new MinAmount(min, f1);
            MaxAmount         maxAmount2 = new MaxAmount(max, f2);

            Assert.IsFalse(maxAmount.checkConsistent(minAmount2));
            Assert.IsTrue(maxAmount2.checkConsistent(minAmount2));
            f2.productIds = list1;
            Assert.IsFalse(maxAmount2.checkConsistent(minAmount2));

            minAmount.amount = max;
            maxAmount.amount = min;
            Assert.IsTrue(minAmount.checkConsistent(maxAmount), "5");
        }