public void NullableTypesPerformCorrectly()
        {
            Nullable <int> nullint    = null;
            Nullable <int> nonnullint = 42;
            Nullable <int> zeroint    = 0;

            Assert.Equal(Option <int> .None(), nullint.ToOption());
            Assert.Equal(nonnullint, nonnullint.Value.ToOption().GetValue(x => x));
            Assert.Equal(zeroint, zeroint.Value.ToOption().GetValue(x => x));
        }
Exemple #2
0
 public static Option <T> OrElse <T>(this Option <T> option, Nullable <T> alternative)
     where T : struct
 {
     return(option.HasValue ? option : alternative.ToOption());
 }