public void SharpRepository_Supports_FindAll_Filtering_With_Specifications() { var repo = new InMemoryRepository <Order, int>(); for (int i = 1; i <= 5; i++) { repo.Add(new Order { Name = "Order" + i }); } var order1 = repo.FindAll(new OrderByIdSpecification(1)); order1.First().OrderId.ShouldEqual(1); var order2 = repo.FindAll(new OrderByNameSpecification("Order2")); order2.First().Name.ShouldEqual("Order2"); var spec = new OrderByIdSpecification(3).And(new OrderByNameSpecification("Order3")); var order3 = repo.FindAll(spec); order3.First().OrderId.ShouldEqual(3); order3.First().Name.ShouldEqual("Order3"); }
public ToDoItemPagedQuery(ToDoAllItemSpecification allItemSpecification, ProjectionSpecification projectionSpecification, OrderByIdSpecification orderByIdSpecification, int pageSize, int takeItem, int currentItndex) { _allItemSpecification = allItemSpecification; _projectionSpecification = projectionSpecification; _orderByIdSpecification = orderByIdSpecification; PageSize = pageSize; TakeItem = takeItem; CurrentIndex = currentItndex; }
public void Specifications_Can_Be_Chained() { var spec = new OrderByIdSpecification(1) .And(new OrderByNameSpecification("test")); var order = new Order { OrderId = 1, Name = "test" }; spec.IsSatisfiedBy(order).ShouldBeTrue(); }
public void Specifications_Can_Be_Composed() { var spec = new OrderByIdSpecification(1); var order = new Order { OrderId = 1 }; spec.IsSatisfiedBy(order).ShouldBeTrue(); order = new Order { OrderId = 2 }; spec.IsSatisfiedBy(order).ShouldBeFalse(); }