コード例 #1
0
        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");
        }
コード例 #2
0
        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");
        }