public void should_work_for_collections_and_other() { var orish = new OrOperation().GetPredicateBuilder<Contract>( c => c.Status, new List<string>{"open","closed"}, c=>c.Status, "x"); var contract = new Contract(); contract.Status = "x"; orish.Compile()(contract).ShouldBeTrue(); }
public void should_not_work() { var orish = new OrOperation().GetPredicateBuilder<Contract>(c => c.Status, "open", c => c.Status, "closed"); var contract = new Contract(); contract.Status = "a"; orish.Compile()(contract).ShouldBeFalse(); }
public void should_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 = "open"; x.Compile()(contract).ShouldBeTrue(); var contract2 = new Contract(); contract2.Status = "closed"; x.Compile()(contract2).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(); }