public void SqlConditionGroupWithTwoSimpleConditionsShouldProvideProperSql()
        {
            string expectedSql = @"((property = @property) Or (property2 <> @property2) )";

            var conditionGroup = new SqlConditionGroup()
            {
                ChildConditions = new SqlConditionBase[]
                {
                    new SqlCondition("property", ComparisionOperator.Equals, null),
                    new SqlCondition("property2", ComparisionOperator.NotEquals, null, LogicalOperator.Or)
                }
            };

            Assert.AreEqual(expectedSql, conditionGroup.ToString());
        }
        public void SqlConditionGroupWithComplexChildConditionsShouldProvidProperSql()
        {
            string expectedSql = @"((property = @property) Or (property2 <> @property2) Or ((property3 = @property3) And (property4 <> @property4) ) )";

            var conditionGroup = new SqlConditionGroup()
            {
                ChildConditions = new SqlConditionBase[]
                {
                    new SqlCondition("property", ComparisionOperator.Equals, null),
                    new SqlCondition("property2", ComparisionOperator.NotEquals, null, LogicalOperator.Or),
                    new SqlConditionGroup()
                    {
                        AppendWithOperator = LogicalOperator.Or,
                        ChildConditions    = new SqlConditionBase[]
                        {
                            new SqlCondition("property3", ComparisionOperator.Equals, null),
                            new SqlCondition("property4", ComparisionOperator.NotEquals, null, LogicalOperator.And)
                        }
                    }
                }
            };

            Assert.AreEqual(expectedSql, conditionGroup.ToString());
        }