public void ShouldNotEqualNull()
        {
            var effect = new StaticKeyboardEffect(Color.Red);

            Assert.AreNotEqual(effect, null);
            Assert.False(effect.Equals(null));
        }
        public void ShouldEqualEffectWithSameColorCastAsObject()
        {
            var effect = new StaticKeyboardEffect(Color.Red);
            var obj    = new StaticKeyboardEffect(Color.Red) as object;

            Assert.True(effect.Equals(obj));
        }
        public void ShouldNotEqualEffectWithDifferentColorCastAsObject()
        {
            var effect = new StaticKeyboardEffect(Color.Red);
            var obj    = new StaticKeyboardEffect(Color.Blue) as object;

            Assert.False(effect.Equals(obj));
        }
        public void ShouldNotEqualArbitraryObject()
        {
            var effect = new StaticKeyboardEffect(Color.Red);
            var obj    = new object();

            Assert.False(effect.Equals(obj));
        }