Esempio n. 1
0
        public async Task TryCatchAsync2_1()
        {
            // Setup
            var mock = new Mock <ITryCatchFinally>();
            var m    = mock.Object;

            // Act
            await Try.CatchAsync(m.TryAsync, m.CatchAsync);

            // Assert
            mock.Verify(m => m.TryAsync(), Times.Once);
            mock.Verify(m => m.CatchAsync(It.IsAny <Exception>()), Times.Never);
        }
        public async Task TryCatchAsync1_2()
        {
            // Setup
            var ex   = new InvalidCastException();
            var mock = new Mock <ITryCatchFinally>();

            mock.Setup(m => m.TryAsync()).Throws(ex);

            var m = mock.Object;

            // Act
            await Try.CatchAsync <InvalidCastException>(m.TryAsync, m.Catch);

            // Assert
            mock.Verify(m => m.TryAsync(), Times.Once);
            mock.Verify(m => m.Catch(It.IsAny <InvalidCastException>()), Times.Once);
        }
Esempio n. 3
0
        public async Task TryCatchAsync2_2()
        {
            // Setup
            var ex   = new Exception();
            var mock = new Mock <ITryCatchFinally>();

            mock.Setup(m => m.TryAsync()).Throws(ex);

            var m = mock.Object;

            // Act
            await Try.CatchAsync(m.TryAsync, m.CatchAsync);

            // Assert
            mock.Verify(m => m.TryAsync(), Times.Once);
            mock.Verify(
                m => m.CatchAsync(It.Is <Exception>(e => ReferenceEquals(e, ex))),
                Times.Once);
        }
        public async Task TryCatchAsync2_3()
        {
            // Setup
            var ex   = new ArgumentOutOfRangeException();
            var mock = new Mock <ITryCatchFinally>();

            mock.Setup(m => m.TryAsync()).Throws(ex);

            var m = mock.Object;

            // Act
            await Assert.ThrowsAsync <ArgumentOutOfRangeException>(async() =>
            {
                await Try.CatchAsync <InvalidCastException>(m.TryAsync, m.CatchAsync);
            });

            // Assert
            mock.Verify(m => m.TryAsync(), Times.Once);
            mock.Verify(m => m.CatchAsync(It.IsAny <InvalidCastException>()), Times.Never);
        }