AIMA.Test.Core.Unit.Logic.FOL.KB.Data.ClauseTest.testHashCode C# (CSharp) Method

testHashCode() private method

private testHashCode ( ) : void
return void
        public void testHashCode()
        {
            Term cons1 = new Constant("C1");
            Term cons2 = new Constant("C2");
            Term var1 = new Variable("v1");
            List<Term> pts1 = new List<Term>();
            List<Term> pts2 = new List<Term>();
            pts1.Add(cons1);
            pts1.Add(cons2);
            pts1.Add(var1);
            pts2.Add(cons2);
            pts2.Add(cons1);
            pts2.Add(var1);

            Clause c1 = new Clause();
            Clause c2 = new Clause();
            Assert.AreEqual(c1.GetHashCode(), c2.GetHashCode());

            c1.addNegativeLiteral(new Predicate("Pred1", pts1));
            Assert.AreNotSame(c1.GetHashCode(), c2.GetHashCode());
            c2.addNegativeLiteral(new Predicate("Pred1", pts1));
            Assert.AreEqual(c1.GetHashCode(), c2.GetHashCode());

            c1.addPositiveLiteral(new Predicate("Pred1", pts1));
            Assert.AreNotSame(c1.GetHashCode(), c2.GetHashCode());
            c2.addPositiveLiteral(new Predicate("Pred1", pts1));
            Assert.AreEqual(c1.GetHashCode(), c2.GetHashCode());
        }