Esempio n. 1
0
        public void And_Condition_Builder_Using_Conditions_Method_Test()
        {
            var builder = new AndConditionBuilder()
                          .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);
        }
Esempio n. 2
0
        public static AndConditionBuilder And(this IConditionBuilder builder, IConditionBuilder rightBuilder)
        {
            var b = new AndConditionBuilder();

            ((IConditionBuildersHolder)b).ConditionBuilders.Add(builder);

            ((IConditionBuildersHolder)b).ConditionBuilders.Add(rightBuilder);

            return(b);
        }
Esempio n. 3
0
        public static AndConditionBuilder And(this AndConditionBuilder builder, IConditionBuilder rightBuilder)
        {
            if (rightBuilder is AndConditionBuilder) // Merge the condition builders
            {
                builder.Conditions(
                    ((IConditionBuildersHolder)rightBuilder).ConditionBuilders.ToArray()
                    );
            }
            else
            {
                builder.Conditions(rightBuilder);
            }

            return(builder);
        }
Esempio n. 4
0
        public static AndConditionBuilder And(this IConditionBuilder builder, AndConditionBuilder rightBuilder)
        {
            rightBuilder.PrependConditions(builder);

            return(rightBuilder);
        }