public void TestStringLiteralEquals() { StringLiteral first = new StringLiteral() { Value = "test" }; StringLiteral firstClone = new StringLiteral() { Value = "test" }; StringLiteral second = new StringLiteral() { Value = "test2" }; //Equals Assert.IsTrue(Equals(first, firstClone)); Assert.IsFalse(Equals(first, null)); Assert.IsFalse(Equals(first, "test")); Assert.IsFalse(Equals(first, second)); //Hash code Assert.AreEqual(first.GetHashCode(), firstClone.GetHashCode()); Assert.AreNotEqual(first.GetHashCode(), second.GetHashCode()); }