public void GetHashCodeUsesConstraints() { Query query1 = new Query(); Query query2 = new Query(); Query query3 = new Query(); query1.AddConstraint(new Constraint(new VariableExpression(new Variable("var")))); query2.AddConstraint(new Constraint(new VariableExpression(new Variable("var")))); query3.AddConstraint(new Constraint(new VariableExpression(new Variable("other")))); Assert.IsTrue(query1.GetHashCode() == query2.GetHashCode(), "Query1 should have same hash code as query2"); Assert.IsTrue(query1.GetHashCode() != query3.GetHashCode(), "Query1 should not have same hash code as query3"); }
public void EqualsComparesConstraints() { Query query1 = new Query(); Query query2 = new Query(); Query query3 = new Query(); query1.AddConstraint(new Constraint(new VariableExpression(new Variable("var")))); query2.AddConstraint(new Constraint(new VariableExpression(new Variable("var")))); query3.AddConstraint(new Constraint(new VariableExpression(new Variable("other")))); Assert.IsTrue(query1.Equals(query2), "Query1 should equal query2"); Assert.IsTrue(!query1.Equals(query3), "Query1 should not equal query3"); }