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());
        }