示例#1
0
        public void Result_Throws()
        {
            var exception = new Exception();
            var calls     = 0;

            var factory = new Func <int>(
                () =>
            {
                calls += 1;
                throw exception;
            });

            var result = new TryResult <int>(factory);

            Assert.AreEqual(calls, 0);

            Assert.AreEqual(result.UnwrapError(), exception);
            Assert.AreEqual(calls, 1);

            Assert.AreEqual(result.UnwrapError(), exception);
            Assert.AreEqual(calls, 1);
        }