예제 #1
0
        public void ResultPropagationShouldPreserveOriginalException()
        {
            var exception = new NullReferenceException();
            var result    = new BoolResult(exception);

            Assert.True(result.IsCriticalFailure);
            Assert.False(result.IsCancelled);

            var resultPropagation = new ResultPropagationException(result);
            var result2           = new PinResult(resultPropagation);

            Assert.True(result2.IsCriticalFailure);
            Assert.False(result2.IsCancelled);

            Assert.Equal(exception, result2.Exception);
        }
예제 #2
0
        public void ResultPropagationShouldPreserveIsCancelledProperty()
        {
            var exception = new InvalidOperationException();
            var result    = new BoolResult(exception);

            result.IsCancelled = true;
            Assert.False(result.IsCriticalFailure);
            Assert.True(result.IsCancelled);

            var resultPropagation = new ResultPropagationException(result);
            var result2           = new PinResult(resultPropagation);

            Assert.False(result2.IsCriticalFailure);
            Assert.True(result2.IsCancelled);

            Assert.Equal(exception, result2.Exception);
        }