public void Access_Error() { var result = MyResult.CreateError(Failure.ItIsRaining); Assert.IsFalse(result.IsSuccess); Assert.AreEqual(result.Error, Failure.ItIsRaining); Assert.IsNull(result.Value, "This should fail"); }
public void Combine() { var error1 = MyResult.CreateError(Failure.ItIsRaining); var error1s = MyResult.CreateError(Failure.ItIsRaining); Func <string, MyResult> fails = i => { throw new InvalidOperationException(); }; Assert.AreEqual(error1s, error1.Combine(fails)); Assert.AreEqual(error1s, ResultSuccess.Combine(i => error1s)); Assert.AreEqual(MyResult.CreateSuccess("Hi!"), ResultSuccess.Combine(i => MyResult.CreateSuccess(i + "!"))); }