public static void ToValue2() { var exp = new Obj(); var ok = Outcome.Of(exp); Assert.Same(exp, ok.ToValue()); }
public static void ValueOrDefault1() { var exp = new Obj(); var ok = Outcome.Of(exp); Assert.Same(exp, ok.ValueOrDefault()); }
public static void Of1() { var ok = Outcome.Of(1); Assert.True(ok.IsSuccess); Assert.False(ok.IsError); }
public static void ValueOrThrow1() { var exp = new Obj(); var ok = Outcome.Of(exp); Assert.Same(exp, ok.ValueOrThrow()); Assert.Equal(exp, ok.ValueOrThrow(error => new SimpleException(error))); }
public static void ValueOrNone1() { var exp = new Obj(); var ok = Outcome.Of(exp); var maybe = ok.ValueOrNone(); Assert.True(maybe.IsSome); }
public static void ToMaybe1() { var exp = new Obj(); var ok = Outcome.Of(exp); var maybe = ok.ToMaybe(); Assert.True(maybe.IsSome); }
public static void ValueOrElse1() { var exp = new Obj(); var ok = Outcome.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 = Outcome.Of(exp); var(succeed, value, err) = ok; Assert.True(succeed); Assert.Equal(String.Empty, err); Assert.Same(exp, value); }
public static void ValueOrThrow0() { var ok = Outcome.Of(new Obj()); Assert.Throws <ArgumentNullException>("exceptionFactory", () => ok.ValueOrThrow(null)); var nok = Outcome <Obj> .FromError("error"); Assert.Throws <ArgumentNullException>("exceptionFactory", () => nok.ValueOrThrow(null)); }
public static void ToString1() { var value = new Obj("My value"); var ok = Outcome.Of(value); Assert.Contains(value.ToString(), ok.ToString(), StringComparison.OrdinalIgnoreCase); var error = "My error"; var nok = Outcome <Obj> .FromError(error); Assert.Contains(error, nok.ToString(), StringComparison.OrdinalIgnoreCase); }
public static void GetHashCode2() { var nok1 = Outcome <Obj> .FromError("error"); var nok2 = Outcome <Obj> .FromError("error"); Assert.Equal(nok1.GetHashCode(), nok2.GetHashCode()); Assert.Equal(nok1.GetHashCode(EqualityComparer <Obj> .Default), nok2.GetHashCode(EqualityComparer <Obj> .Default)); var ok1 = Outcome.Of(Tuple.Create("1")); var ok2 = Outcome.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 = Outcome <Obj> .FromError("error"); Assert.Equal(nok.GetHashCode(), nok.GetHashCode()); Assert.Equal(nok.GetHashCode(EqualityComparer <Obj> .Default), nok.GetHashCode(EqualityComparer <Obj> .Default)); var ok1 = Outcome.Of(new Obj()); Assert.Equal(ok1.GetHashCode(), ok1.GetHashCode()); Assert.Equal(ok1.GetHashCode(EqualityComparer <Obj> .Default), ok1.GetHashCode(EqualityComparer <Obj> .Default)); var ok2 = Outcome.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 = Outcome <int> .FromError("error1"); var nok2 = Outcome <int> .FromError("error2"); Assert.NotEqual(nok1.GetHashCode(), nok2.GetHashCode()); Assert.NotEqual(nok1.GetHashCode(EqualityComparer <int> .Default), nok2.GetHashCode(EqualityComparer <int> .Default)); var ok1 = Outcome.Of(1); var ok2 = Outcome.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)); }