示例#1
0
        private void FindByConcretSpecification()
        {
            ProductOnSaleSpecification specification  = new ProductOnSaleSpecification();
            IEnumerable <Product>      productsOnSale = repository.Find <Product>(specification);

            Assert.AreEqual(2, productsOnSale.Count());
        }
        public void ProductOnSaleSpecification_ShouldNotBeSatisfied_WhenProductIsNotOnSale()
        {
            const bool saleItem = false;
            var product = new Product(0, saleItem);

            var result = new ProductOnSaleSpecification().IsSatisfiedBy(product);

            Assert.That(result, Is.False);
        }
示例#3
0
        public void FindByConcreteSpecification()
        {
            var product = new Product {
                Price = 99
            };
            var spec = new ProductOnSaleSpecification();

            Assert.True(spec.IsSatisfiedBy(product));

            product.Price = 100;

            Assert.False(spec.IsSatisfiedBy(product));
        }
示例#4
0
 private void FindByConcretSpecification()
 {
     ProductOnSaleSpecification specification = new ProductOnSaleSpecification();
     IEnumerable<Product> productsOnSale = repository.Find<Product>(specification);
     Assert.AreEqual(2, productsOnSale.Count());
 }
示例#5
0
        public void Test_Specification_SatisfyEntityFrom()
        {
            var specification = new ProductOnSaleSpecification();
            var product = specification.SatisfyEntityFrom(this.Products.AsQueryable());

            Assert.IsNotNull(product);
        }
示例#6
0
        public void Test_Specification_SatisfyEntitiesFrom()
        {
            var specification = new ProductOnSaleSpecification();
            var products = specification.SatisfyEntitiesFrom(this.Products.AsQueryable());

            Assert.AreEqual(products.Count(), 2);
        }
 public List<Product> GetSaleProductsOverPrice(double highItemPrice)
 {
     Specification<Product> saleSpec = new ProductOnSaleSpecification();
     Specification<Product> priceSpec = new ProductPriceGreaterThanSpecification(highItemPrice);
     return Items.FindAll(saleSpec.And(priceSpec).IsSatisfiedBy);
 }