public void WhereConjunctionOrNotNested()
        {
            AggregateTestQuery query = new AggregateTestQuery();

            query.Where
            (
                query.OrNot
                (
                    query.DepartmentID == 1,
                    query.And
                    (
                        query.IsActive == true,
                        query.Age == 28
                    )
                )
            );

            AggregateTestCollection coll = new AggregateTestCollection();
            Assert.IsTrue(coll.Load(query));

            switch (coll.es.Connection.ProviderSignature.DataProviderName)
            {
                case "EntitySpaces.MSAccessProvider":
                    Assert.AreEqual(29, coll.Count);
                    break;

                case "EntitySpaces.NpgsqlProvider":
                case "EntitySpaces.Npgsql2Provider":
                case "EntitySpaces.OracleClientProvider":
                case "EntitySpaces.SqlClientProvider":
                case "EntitySpaces.SqlServerCeProvider":
                case "EntitySpaces.SybaseSqlAnywhereProvider":
                case "EntitySpaces.VistaDBProvider":
                case "EntitySpaces.VistaDB4Provider":
                    Assert.AreEqual(24, coll.Count);
                    break;

                default:
                    Assert.AreEqual(24, coll.Count);
                    break;
            }
        }
        public void WhereConjunctionAndNotNested()
        {
            AggregateTestQuery query = new AggregateTestQuery();

            query.Where
            (
                query.AndNot
                (
                    query.DepartmentID == 1,
                    query.And
                    (
                        query.IsActive == true,
                        query.Age == 28
                    )
                )
            );

            AggregateTestCollection coll = new AggregateTestCollection();
            Assert.IsTrue(coll.Load(query));
            Assert.AreEqual(2, coll.Count);
        }
        public void WhereConjunctionOrNotSeparateLines()
        {
            AggregateTestQuery query = new AggregateTestQuery();

            query.Where(query.DepartmentID == 1);

            query.es.DefaultConjunction = esConjunction.OrNot;
            query.Where(new esComparison(esParenthesis.Open));
            query.Where(query.IsActive == true);
            query.es.DefaultConjunction = esConjunction.And;
            query.Where(query.Age == 28);
            query.Where(new esComparison(esParenthesis.Close));

            AggregateTestCollection coll = new AggregateTestCollection();
            Assert.IsTrue(coll.Load(query));

            switch (coll.es.Connection.ProviderSignature.DataProviderName)
            {
                case "EntitySpaces.MSAccessProvider":
                    Assert.AreEqual(29, coll.Count);
                    break;

                case "EntitySpaces.NpgsqlProvider":
                case "EntitySpaces.Npgsql2Provider":
                case "EntitySpaces.OracleClientProvider":
                case "EntitySpaces.SqlClientProvider":
                case "EntitySpaces.SqlServerCeProvider":
                case "EntitySpaces.SybaseSqlAnywhereProvider":
                case "EntitySpaces.VistaDBProvider":
                case "EntitySpaces.VistaDB4Provider":
                    Assert.AreEqual(24, coll.Count);
                    break;

                default:
                    Assert.AreEqual(24, coll.Count);
                    break;
            }
        }
        public void WhereConjunctionAndNotSeparateLines()
        {
            AggregateTestQuery query = new AggregateTestQuery();

            query.Where(query.DepartmentID == 1);

            query.es.DefaultConjunction = esConjunction.AndNot;
            query.Where(new esComparison(esParenthesis.Open));
            query.Where(query.IsActive == true);
            query.es.DefaultConjunction = esConjunction.And;
            query.Where(query.Age == 28);
            query.Where(new esComparison(esParenthesis.Close));

            AggregateTestCollection coll = new AggregateTestCollection();
            Assert.IsTrue(coll.Load(query));
            Assert.AreEqual(2, coll.Count);
        }