public static void ValueOrThrow_ReturnsValue_IfSuccess() { var exp = new Obj(); var ok = Fallible.Of(exp); Assert.Same(exp, ok.ValueOrThrow()); }
public static void ValueOrElse_ReturnsValue_IfSuccess() { var exp = new Obj(); var ok = Fallible.Of(exp); var other = new Obj("other"); Assert.Same(exp, ok.ValueOrElse(other)); Assert.Same(exp, ok.ValueOrElse(() => other)); }
public static void Deconstruct1() { var exp = new Obj(); var ok = Fallible.Of(exp); var(succeed, value, err) = ok; Assert.True(succeed); Assert.Null(err); Assert.Same(exp, value); }
public static void ValueOrElse0() { var ok = Fallible.Of(new Obj()); Assert.Throws <ArgumentNullException>("valueFactory", () => ok.ValueOrElse((Func <Obj>)null)); var nok = Fallible <Obj> .FromError(Error); Assert.Throws <ArgumentNullException>("valueFactory", () => nok.ValueOrElse((Func <Obj>)null)); }
public static void ToString1() { var value = new Obj("My value"); var ok = Fallible.Of(value); Assert.Contains(value.ToString(), ok.ToString(), StringComparison.OrdinalIgnoreCase); var nok = Fallible <Obj> .FromError(Error); Assert.Contains(Error.ToString(), nok.ToString(), StringComparison.OrdinalIgnoreCase); }
public static void GetHashCode2() { var nok1 = Fallible <Obj> .FromError(Error); var nok2 = Fallible <Obj> .FromError(Error); Assert.Equal(nok1.GetHashCode(), nok2.GetHashCode()); Assert.Equal(nok1.GetHashCode(EqualityComparer <Obj> .Default), nok2.GetHashCode(EqualityComparer <Obj> .Default)); var ok1 = Fallible.Of(Tuple.Create("1")); var ok2 = Fallible.Of(Tuple.Create("1")); Assert.Equal(ok1.GetHashCode(), ok2.GetHashCode()); Assert.Equal(ok1.GetHashCode(EqualityComparer <Tuple <string> > .Default), ok2.GetHashCode(EqualityComparer <Tuple <string> > .Default)); }
public static void GetHashCode1() { var nok = Fallible <Obj> .FromError(Error); Assert.Equal(nok.GetHashCode(), nok.GetHashCode()); Assert.Equal(nok.GetHashCode(EqualityComparer <Obj> .Default), nok.GetHashCode(EqualityComparer <Obj> .Default)); var ok1 = Fallible.Of(new Obj()); Assert.Equal(ok1.GetHashCode(), ok1.GetHashCode()); Assert.Equal(ok1.GetHashCode(EqualityComparer <Obj> .Default), ok1.GetHashCode(EqualityComparer <Obj> .Default)); var ok2 = Fallible.Of(1); Assert.Equal(ok2.GetHashCode(), ok2.GetHashCode()); Assert.Equal(ok2.GetHashCode(EqualityComparer <int> .Default), ok2.GetHashCode(EqualityComparer <int> .Default)); }
public static void GetHashCode3() { var nok1 = Fallible <int> .FromError(Error); var nok2 = Fallible <int> .FromError(Error1); Assert.NotEqual(nok1.GetHashCode(), nok2.GetHashCode()); Assert.NotEqual(nok1.GetHashCode(EqualityComparer <int> .Default), nok2.GetHashCode(EqualityComparer <int> .Default)); var ok1 = Fallible.Of(1); var ok2 = Fallible.Of(2); Assert.NotEqual(ok1.GetHashCode(), ok2.GetHashCode()); Assert.NotEqual(ok1.GetHashCode(EqualityComparer <int> .Default), ok2.GetHashCode(EqualityComparer <int> .Default)); Assert.NotEqual(ok1.GetHashCode(), nok1.GetHashCode()); Assert.NotEqual(ok1.GetHashCode(EqualityComparer <int> .Default), nok1.GetHashCode(EqualityComparer <int> .Default)); }
public static void ThrowIfError1() { var ok = Fallible.Of(new Obj()); Assert.DoesNotThrow(() => ok.ThrowIfError()); }
public static void Of1() { var result = Fallible.Of(1); Assert.True(result.IsSuccess); }
public static void ValueOrNone_ReturnsSome_IfSuccess() { var ok = Fallible.Of(new Obj()); Assert.True(ok.ValueOrNone().IsSome); }