public Settings(CompositeSpecification <GridSize> gridSizeSpec, CompositeSpecification <Point> initialLocationSpec, CompositeSpecification <string> instructionSpec) { this._gridSizeSpec = gridSizeSpec; this._initialLocationSpec = initialLocationSpec; this._instructionSpec = instructionSpec; }
public void AllTest() { var idSpecification = new BaseSpecification <TestClass>(t => t.Id > 3); var nameSpecification = new BaseSpecification <TestClass>(t => t.Name !.Length > 9); var specification = new CompositeSpecification <TestClass>(idSpecification, nameSpecification); var result = specification.Evaluate(TestClass.GetTestClasses()); Assert.NotEmpty(result); }
public void Test_FailMessage() { ISpecification s = _factory.GetSpecification("failMessage"); // the above evaluates to an implicit and CompositeSpecification s1 = (CompositeSpecification)s; foreach (Specification element in s1.Elements) { Assert.AreEqual("XXX", element.FailureMessage); } }
public void Test_TestExpression() { ISpecification s = _factory.GetSpecification("testExpression"); // the above evaluates to an implicit and CompositeSpecification s1 = (CompositeSpecification)s; foreach (Specification element in s1.Elements) { Assert.AreEqual("XXX", element.TestExpression.Text); } }
private bool VisitComposite(CompositeSpecification composite) { foreach (Specification specification in composite.Specifications) { bool result = this.Visit(specification); if (result) { return(result); } } return(false); }
public void FindByBelowPriceColourAndSizeTest() { IList <Specification> specs = new List <Specification> { new ColorSpecification(ProductColor.RED), new SizeSpecification(ProductSize.SMALL), new BelowPriceSpecification(10) }; CompositeSpecification compositeSpecification = new CompositeSpecification(specs); IList <Product> foundProducts = _productRepository.SelectBy(compositeSpecification); Assert.AreEqual(0, foundProducts.Count); }
public void TestFindByColorSizeAndBelowPrice() { // Arrange CompositeSpecification compositeSpecifications = new CompositeSpecification(); // Act compositeSpecifications.Add(new ColorSpecification(ProductColor.Red)); compositeSpecifications.Add(new SizeSpecification(ProductSize.Small)); compositeSpecifications.Add(new BelowPriceSpecification(10.00M)); List <Product> foundProducts = this._repository.SelectBy(compositeSpecifications); // Assert Assert.AreEqual(0, foundProducts.Count, "small red products below $10.00"); }
public QueryWithProjectionBuilder <T, TResult> AddFilter(CompositeSpecification <T> specification) { this.query.AddFilter(specification); return(this); }
public QueryWithProjectionBuilder(CompositeSpecification <T> specification) : base() { this.query.AddFilter(specification); }
public AndSpecification(CompositeSpecification <T> leftSpecification, ISpecification <T> rightSpecification) { _leftSpecification = leftSpecification; _rightSpecification = rightSpecification; }
public OrSpecification(CompositeSpecification <T> left, ISpecification <T> right) { _left = left; _right = right; }
public OrSpecification(CompositeSpecification <T> compositeSpecification, ISpecificationSecond <T> specification) { this.compositeSpecification = compositeSpecification; this.specification = specification; }
public NotSpecification(CompositeSpecification <T> specification) { this.specification = specification; }
public virtual void AddFilter(CompositeSpecification <T> specification) { this.Filter = specification.ToExpression(); }
public AndSpecification(CompositeSpecification <T> left, CompositeSpecification <T> right) { this.right = right; this.left = left; }
public NotSpecification(CompositeSpecification <T> innerSpecification) { _innerSpecification = innerSpecification; }
public IQueryable <T> Get(CompositeSpecification <T> specification) { return(this.entities .Where(specification.ToExpression())); }
public IQueryBuilder <T> AddFilter(CompositeSpecification <T> specification) { this.query.AddFilter(specification); return(this); }