public void TestSubExpressions()
{
DaoCriteria sc = new DaoCriteria();
Assert.AreEqual(0, new List<IExpression>(sc.Expressions).Count, "Didn't start with none.");
sc.Expressions.Add(new CriteriaExpression(new DaoCriteria(), true));
Assert.AreEqual(1, new List<IExpression>(sc.Expressions).Count, "Added a blank sub-expr.");
sc.Clear();
DaoCriteria sub1 = new DaoCriteria();
sub1.Expressions.Add(new EqualExpression("x", 5, true));
sub1.Expressions.Add(new BetweenExpression("y", 1, 4, true));
Assert.AreEqual(2, new List<IExpression>(sub1.Expressions).Count, "Sub-expr didn't have 2 exprs.");
sc.Expressions.Add(new CriteriaExpression(sub1, true));
Assert.AreEqual(1, new List<IExpression>(sc.Expressions).Count, "Should be 1 sub-expr.");
}