public void SelectTest() { Either <int, Exception> i = 123; Either <int, Exception> e = new ArgumentException("Hi"); Either <double, string> d = i.Select(x => (double)x, y => y.Message); Either <double, string> s = e.Select(x => (double)x, y => y.Message); Assert.AreEqual(123.0, d.Value); Assert.AreEqual("Hi", s.Value); }