public void EqualsAndHash() { Joint joint = new Joint.Builder("joint", Joint.JointType.Continuous, new Link.Builder("parent").Build(), new Link.Builder("child").Build()).Build(); Mimic mimic = new Mimic(joint); Mimic same = new Mimic(joint); Mimic diff = new Mimic(joint, 1, 2); Assert.IsTrue(mimic.Equals(mimic)); Assert.IsFalse(mimic.Equals(null)); Assert.IsTrue(mimic.Equals(same)); Assert.IsTrue(same.Equals(mimic)); Assert.IsFalse(mimic.Equals(diff)); Assert.AreEqual(mimic.GetHashCode(), same.GetHashCode()); Assert.AreNotEqual(mimic.GetHashCode(), diff.GetHashCode()); }