public void EqualsAndHash() { Dynamics dynamics = new Dynamics(1, 2); Dynamics same = new Dynamics(1, 2); Dynamics diff = new Dynamics(3, 4); Assert.IsTrue(dynamics.Equals(dynamics)); Assert.IsFalse(dynamics.Equals(null)); Assert.IsTrue(dynamics.Equals(same)); Assert.IsTrue(same.Equals(dynamics)); Assert.IsFalse(dynamics.Equals(diff)); Assert.AreEqual(dynamics.GetHashCode(), same.GetHashCode()); Assert.AreNotEqual(dynamics.GetHashCode(), diff.GetHashCode()); }
public override int GetHashCode() { unchecked { var hashCode = (Name != null ? Name.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (int)Type; hashCode = (hashCode * 397) ^ (Parent != null ? Parent.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Child != null ? Child.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Origin != null ? Origin.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Axis != null ? Axis.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Calibration != null ? Calibration.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Dynamics != null ? Dynamics.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Limit != null ? Limit.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Mimic != null ? Mimic.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (SafetyController != null ? SafetyController.GetHashCode() : 0); return(hashCode); } }