public Either <Unit, TRight> Skip() => IsLeft ? Either <TRight> .Unit : Either <Unit, TRight> .OfRight(Right);
public Either <TResult, TRight> ReplaceBy <TResult>(TResult value) => IsLeft ? Either <TResult, TRight> .OfLeft(value) : Either <TResult, TRight> .OfRight(Right);
public Either <TResult, TRight> ContinueWith <TResult>(Either <TResult, TRight> other) => IsLeft ? other : Either <TResult, TRight> .OfRight(Right);
public static void cast2() { var either = Either <string, Obj> .OfRight(new Obj("right")); Assert.Throws <InvalidCastException>(() => (string)either); }
public static void ToString4() { var either = Either <Obj, Obj> .OfRight(null); Assert.Contains("Right", either.ToString(), StringComparison.OrdinalIgnoreCase); }
public static void ToLeft2() { var either = Either <Obj, Obj> .OfRight(new Obj("right")); Assert.Throws <InvalidCastException>(() => either.ToLeft()); }
public static void Swap2() { var either = Either <Obj, Obj> .OfRight(new Obj("right")); Assert.Throws <InvalidOperationException>(() => either.Swap()); }
public static Either <TLeft, TRight> OfRight <TRight>(TRight rightValue) => Either <TLeft, TRight> .OfRight(rightValue);
public override Either <TRight, TLeft> SwapUnchecked() => Either <TRight, TLeft> .OfRight(Left);
public override Either <TRight, TLeft> Swap() => Either <TRight, TLeft> .OfRight(Left);