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

            Assert.True(value.CompareTo(1) > 0);
            Assert.True(value.CompareTo(2) == 0);
            Assert.True(value.CompareTo(3) < 0);
        }
        public void CompareToでnullとnull以外の値を比較するとnullは最小値とみなされる()
        {
            var nullValue    = new ChainComparableValue <string>(null);
            var nonNullValue = new ChainComparableValue <string>(string.Empty);

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

            Assert.Equal(0, value.CompareTo(null));
        }