コード例 #1
0
        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;
 }
コード例 #3
0
        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();
        }
コード例 #4
0
        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();
        }