public void Or_Condition_Builder_Using_Conditions_Method_Test() { var builder = new OrConditionBuilder() .Conditions( c => c.Field("Gender").IsEqual('M'), c => c.Field("Age").IsEqual(25), c => c.Field("Name").IsEqual("David") ); var condition = builder.Build(); Assert.AreEqual(3, condition.Conditions.Count()); var charCondition = (FieldIsEqual <char>)condition.Conditions.ElementAt(0); Assert.AreEqual("Gender", charCondition.FieldName); Assert.AreEqual('M', charCondition.Value); var intCondition = (FieldIsEqual <int>)condition.Conditions.ElementAt(1); Assert.AreEqual("Age", intCondition.FieldName); Assert.AreEqual(25, intCondition.Value); var stringCondition = (FieldIsEqual <string>)condition.Conditions.ElementAt(2); Assert.AreEqual("Name", stringCondition.FieldName); Assert.AreEqual("David", stringCondition.Value); }
public static OrConditionBuilder Or(this IConditionBuilder builder, IConditionBuilder rightBuilder) { var b = new OrConditionBuilder(); ((IConditionBuildersHolder)b).ConditionBuilders.Add(builder); ((IConditionBuildersHolder)b).ConditionBuilders.Add(rightBuilder); return(b); }
public static OrConditionBuilder Or(this OrConditionBuilder builder, IConditionBuilder rightBuilder) { if (rightBuilder is OrConditionBuilder) // Merge the condition builders { builder.Conditions( ((IConditionBuildersHolder)rightBuilder).ConditionBuilders.ToArray() ); } else { builder.Conditions(rightBuilder); } return(builder); }
public static OrConditionBuilder Or(this IConditionBuilder builder, OrConditionBuilder rightBuilder) { rightBuilder.PrependConditions(builder); return(rightBuilder); }