Exemplo n.º 1
0
        public void should_work_with_zero_ors()
        {
            var orish = new ComposableOrOperation();

            Exception <Exception> .ShouldBeThrownBy(() =>
            {
                orish.GetPredicateBuilder <Contract>().Compile()(new Contract());
            });
        }
        public void should_not_work()
        {
            var orish = new ComposableOrOperation();//.GetPredicateBuilder<Contract>(, c => c.Status, "closed");
            orish.Set<Contract>(c => c.Status, "open");
            orish.Set<Contract>(c => c.Status, "closed");

            var x = orish.GetPredicateBuilder<Contract>();

            var contract = new Contract();
            contract.Status = "a";

            x.Compile()(contract).ShouldBeFalse();
        }
Exemplo n.º 3
0
        public void should_not_work()
        {
            var orish = new ComposableOrOperation();//.GetPredicateBuilder<Contract>(, c => c.Status, "closed");

            orish.Set <Contract>(c => c.Status, "open");
            orish.Set <Contract>(c => c.Status, "closed");

            var x = orish.GetPredicateBuilder <Contract>();

            var contract = new Contract();

            contract.Status = "a";

            x.Compile()(contract).ShouldBeFalse();
        }
Exemplo n.º 4
0
        public void should_work_for_collections_a()
        {
            var orish = new ComposableOrOperation();

            orish.Set <Contract>(c => c.Status, new List <string> {
                "open", "closed"
            });
            orish.Set <Contract>(c => c.Status, "closed");

            var x = orish.GetPredicateBuilder <Contract>();

            var contract = new Contract();

            contract.Status = "open";

            x.Compile()(contract).ShouldBeTrue();
        }
Exemplo n.º 5
0
        public void should_work_for_path()
        {
            var orish = new ComposableOrOperation();

            orish.Set <Contract>(c => c.Part.IsUsed, true);
            orish.Set <Contract>(c => c.Status, new List <string> {
                "open", "closed"
            });

            var x = orish.GetPredicateBuilder <Contract>();

            var contract = new Contract();

            contract.Status      = "opn";
            contract.Part.IsUsed = true;

            x.Compile()(contract).ShouldBeTrue();
        }
Exemplo n.º 6
0
        public void should_work_for_two_where()
        {
            var orish = new ComposableOrOperation();

            orish.Set <Contract>(c => c.Part.IsUsed, true);
            orish.Set <Contract>(c => c.Purchased, 2);

            var x = orish.GetPredicateBuilder <Contract>();

            var contract = new Contract();

            contract.Status      = "open";
            contract.Purchased   = 2;
            contract.Part.IsUsed = false;
            contract.Signature   = new Signature("brandon");
            contract.IsUnitBased = false;

            x.Compile()(contract).ShouldBeTrue();
        }
Exemplo n.º 7
0
        public void should_work_for_non_primitive_collections()
        {
            var sigs = new List <Signature>
            {
                new Signature("ryan"),
                new Signature("dru"),
                new Signature("brandon")
            };

            var orish = new ComposableOrOperation();

            orish.Set <Contract>(c => c.Part.IsUsed, true);
            orish.Set <Contract>(c => c.Signature, sigs);

            var x = orish.GetPredicateBuilder <Contract>();

            var contract = new Contract();

            contract.Part.IsUsed = false;
            contract.Signature   = new Signature("brandon");

            x.Compile()(contract).ShouldBeTrue();
        }
        public void should_work_for_path()
        {
            var orish = new ComposableOrOperation();
            orish.Set<Contract>(c => c.Part.IsUsed, true);
            orish.Set<Contract>(c => c.Status, new List<string> { "open", "closed" });

            var x = orish.GetPredicateBuilder<Contract>();

            var contract = new Contract();
            contract.Status = "opn";
            contract.Part.IsUsed = true;

            x.Compile()(contract).ShouldBeTrue();
        }
        public void should_work_for_non_primitive_collections()
        {
            var sigs  = new List<Signature>
                                  {
                                      new Signature("ryan"),
                                      new Signature("dru"),
                                      new Signature("brandon")
                                  };

            var orish = new ComposableOrOperation();
            orish.Set<Contract>(c => c.Part.IsUsed, true);
            orish.Set<Contract>(c => c.Signature, sigs);

            var x = orish.GetPredicateBuilder<Contract>();

            var contract = new Contract();
            contract.Part.IsUsed = false;
            contract.Signature = new Signature("brandon");

            x.Compile()(contract).ShouldBeTrue();
        }
        public void should_work_for_collections_a()
        {
            var orish = new ComposableOrOperation();
            orish.Set<Contract>(c => c.Status, new List<string> { "open", "closed" });
            orish.Set<Contract>(c => c.Status, "closed");

            var x = orish.GetPredicateBuilder<Contract>();

            var contract = new Contract();
            contract.Status = "open";

            x.Compile()(contract).ShouldBeTrue();
        }
        public void should_work_with_zero_ors()
        {
            var orish = new ComposableOrOperation();

            Exception<Exception>.ShouldBeThrownBy(() =>
            {
                orish.GetPredicateBuilder<Contract>().Compile()(new Contract());
            });
        }
        public void should_work_for_two_where()
        {
            var orish = new ComposableOrOperation();
            orish.Set<Contract>(c => c.Part.IsUsed, true);
            orish.Set<Contract>(c => c.Purchased, 2);

            var x = orish.GetPredicateBuilder<Contract>();

            var contract = new Contract();
            contract.Status = "open";
            contract.Purchased = 2;
            contract.Part.IsUsed = false;
            contract.Signature = new Signature("brandon");
            contract.IsUnitBased = false;

            x.Compile()(contract).ShouldBeTrue();
        }