public void GetHashCodeUsesGroups() { QueryGroupOptional group1 = new QueryGroupOptional(new QueryGroupOr()); QueryGroupOptional group2 = new QueryGroupOptional(new QueryGroupOr()); QueryGroupOptional group3 = new QueryGroupOptional(new QueryGroupAnd()); Assert.IsTrue(group1.GetHashCode() == group2.GetHashCode(), "group1 should have same hash code as group2"); Assert.IsTrue(group1.GetHashCode() != group3.GetHashCode(), "group1 should not have same hash code as group3"); }
public void EqualsComparesGroups() { QueryGroupOptional group1 = new QueryGroupOptional(new QueryGroupOr()); QueryGroupOptional group2 = new QueryGroupOptional(new QueryGroupOr()); QueryGroupOptional group3 = new QueryGroupOptional(new QueryGroupAnd()); Assert.IsTrue(group1.Equals(group2), "group1 should equal group2"); Assert.IsTrue(!group1.Equals(group3), "group1 should not equal group3"); }
public void visit(QueryGroupOptional group) { ++itsOptionalNestingDepth; group.Group.Accept(this); --itsOptionalNestingDepth; }