コード例 #1
0
        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");
        }
コード例 #2
0
        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 + "!")));
        }