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"); }