public void OrQueries() { QueryBuilder builder = new QueryBuilder(typeof(TradeLike)); DomainDescription domainAll = new DomainDescription(typeof(TradeLike)); domainAll.IsFullyLoaded = true; OrQuery q = builder.GetManyWhere("VALUEDATE > 20100101"); Assert.IsTrue(q.IsSubsetOf(domainAll)); DomainDescription complexDomain = new DomainDescription(typeof(TradeLike)); AtomicQuery q2 = builder.MakeAtomicQuery("Folder", "AAA"); AtomicQuery q4 = builder.MakeAtomicQuery("ValueDate", QueryOperator.Gt, new DateTime(2001, 1, 1)); complexDomain.AddOrReplace(q2); complexDomain.AddOrReplace(q4); OrQuery qq = builder.GetManyWhere("FOLDER = AAA, VALUEDATE > 20010101"); Assert.IsTrue(qq.IsSubsetOf(complexDomain)); OrQuery qqq = builder.GetManyWhere("VALUEDATE >= 20010101"); Assert.IsFalse(qqq.IsSubsetOf(complexDomain)); AtomicQuery q3 = builder.MakeAtomicQuery("Folder", "BBB"); AndQuery q33 = builder.MakeAndQuery(q3); qq.Elements.Add(q33); //the query is now (FOLDER = AAA AND VALUEDATE > 20010101) OR (FOLDER = BBB ) ans is not a subset //any more Assert.IsFalse(qq.IsSubsetOf(complexDomain)); }