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(); }
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(); }
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_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_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(); }
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 Expression <Func <T, bool> > BuildOut() { var a = _orOperations.GetPredicateBuilder <T>(); return(a); }
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(); }