public void EqualsTest() { var x = new KeyBinding(Command.Action0, Keys.A, true, false, true); var y = new KeyBinding(Command.Action0, Keys.A, true, false, true); var z = new KeyBinding(Command.Action0, Keys.A, true, false, true); // 反射律 Assert.True(x.Equals(x)); // 対象律 Assert.True(x.Equals(y)); Assert.True(y.Equals(x)); // 推移律 Assert.True(y.Equals(z)); Assert.True(z.Equals(x)); Assert.False(x.Equals(null)); Assert.False(x.Equals(new object())); Assert.AreEqual(x.GetHashCode(), y.GetHashCode()); Assert.AreEqual(y.GetHashCode(), z.GetHashCode()); Assert.AreEqual(z.GetHashCode(), x.GetHashCode()); // 等しくないデータ同士を比較 var zz = new KeyBinding(Command.Action0, Keys.B, true, false, true); Assert.False(zz.Equals(x)); Assert.AreNotEqual(zz.GetHashCode(), x.GetHashCode()); }