Beispiel #1
0
 public void OrElse()
 {
     Result00.Ok(new T0(0)).OrElse(_ => Result01.Ok(new T0(1))).Should().Be(Result01.Ok(new T0(0)));
     Result00.Ok(new T0(0)).OrElse(_ => Result01.Err(new E1(1))).Should().Be(Result01.Ok(new T0(0)));
     Result00.Err(new E0(0)).OrElse(_ => Result01.Ok(new T0(1))).Should().Be(Result01.Ok(new T0(1)));
     Result00.Err(new E0(0)).OrElse(_ => Result01.Err(new E1(1))).Should().Be(Result01.Err(new E1(1)));
 }
Beispiel #2
0
 public void AndThenWorks()
 {
     Result00.Ok(new T0(0)).AndThen(_ => Result10.Ok(new T1(1))).Should().Be(Result10.Ok(new T1(1)));
     Result00.Ok(new T0(0)).AndThen(_ => Result10.Err(new E0(1))).Should().Be(Result10.Err(new E0(1)));
     Result00.Err(new E0(0)).AndThen(_ => Result10.Ok(new T1(1))).Should().Be(Result10.Err(new E0(0)));
     Result00.Err(new E0(0)).AndThen(_ => Result10.Err(new E0(1))).Should().Be(Result10.Err(new E0(0)));
 }
Beispiel #3
0
 public void OrWorks()
 {
     Result00.Ok(new T0(0)).Or(Result01.Ok(new T0(1))).Should().Be(Result01.Ok(new T0(0)));
     Result00.Ok(new T0(0)).Or(Result01.Err(new E1(1))).Should().Be(Result01.Ok(new T0(0)));
     Result00.Err(new E0(0)).Or(Result01.Ok(new T0(1))).Should().Be(Result01.Ok(new T0(1)));
     Result00.Err(new E0(0)).Or(Result01.Err(new E1(1))).Should().Be(Result01.Err(new E1(1)));
 }
Beispiel #4
0
 public void NotNullOrWorks()
 {
     Result00.NotNullOr(new T0(0), new E0(0)).Should().Be(Result00.Ok(new T0(0)));
     Result00.NotNullOr(null, new E0(0)).Should().Be(Result00.Err(new E0(0)));
 }
Beispiel #5
0
 public void NotNullOrElseWorks()
 {
     Result00.NotNullOrElse(new T0(0), () => new E0(0)).Should().Be(Result00.Ok(new T0(0)));
     Result00.NotNullOrElse(null, () => new E0(0)).Should().Be(Result00.Err(new E0(0)));
 }