public void TestEquals() { Bound expression1 = new Bound(new Variable("scooby")); Bound expression2 = new Bound(new Variable("scooby")); Bound expression3 = new Bound(new Variable("velma")); Assert.IsTrue(expression1.Equals(expression2), "expression1 should equal expression2"); Assert.IsTrue(!expression1.Equals(expression3), "expression1 should not equal expression3"); }
private static void AssertEquals(Bound <int> a, Bound <int> b) { Assert.True(a == b); Assert.True(b == a); Assert.True(BoundComparer <int> .Default.Equals(a, b)); Assert.True(BoundComparer <int> .Default.Equals(b, a)); Assert.True(a.Equals(b)); Assert.True(b.Equals(a)); Assert.Equal(0, a.CompareTo(b)); Assert.Equal(0, b.CompareTo(a)); Assert.Equal(a.GetHashCode(), b.GetHashCode()); }