public void Equals_objectのテスト()
        {
            var value = new ChainComparableValue <int>(2);

            Assert.False(value.Equals((object)1));
            Assert.True(value.Equals((object)2));
            Assert.False(value.Equals((object)3));
        }
        public void Equalsのテスト()
        {
            var value = new ChainComparableValue <int>(2);

            Assert.False(value.Equals(1));
            Assert.True(value.Equals(2));
            Assert.False(value.Equals(3));
        }
        public void Equals_objectでnullとnull以外を比較すると等しくない()
        {
            var nullValue    = new ChainComparableValue <string>(null);
            var nonNullValue = new ChainComparableValue <string>(string.Empty);

            Assert.False(nonNullValue.Equals((object)null));
            Assert.False(nullValue.Equals((object)string.Empty));
        }
        public void Equals_objectでnull同士を比較すると等しい()
        {
            var value = new ChainComparableValue <string>(null);

            Assert.True(value.Equals((object)null));
        }