예제 #1
0
        public async Task FileAndForgetFilterCanIgnoreExceptions()
        {
            using var helper = new ThreadExceptionHelper();
            var ex = new Exception();

            ThrowExceptionAsync(ex).FileAndForget(fileOnlyIf: e => e != ex);

            await AsyncTestHelper.JoinPendingOperationsAsync(AsyncTestHelper.UnexpectedTimeout);

            Assert.Null(helper.Exception, helper.Message);
        }
예제 #2
0
        public async Task FileAndForgetFilterCanAllowExceptions()
        {
            using var helper = new ThreadExceptionHelper();
            var ex = new Exception();

            ThrowExceptionAsync(ex).FileAndForget(fileOnlyIf: e => e == ex);

            await AsyncTestHelper.JoinPendingOperationsAsync(AsyncTestHelper.UnexpectedTimeout);

            Assert.AreSame(ex, helper.Exception);
        }
예제 #3
0
        public async Task FileAndForgetReportsThreadException()
        {
            using var helper = new ThreadExceptionHelper();
            var ex = new Exception();

            ThrowExceptionAsync(ex).FileAndForget();

            await AsyncTestHelper.JoinPendingOperationsAsync(AsyncTestHelper.UnexpectedTimeout);

            Assert.AreSame(ex, helper.Exception);
        }
예제 #4
0
        public async Task FileAndForgetFilterIgnoresCancellationExceptions()
        {
            using var helper = new ThreadExceptionHelper();
            var form = new Form();

            form.Dispose();

            YieldOntoControlMainThreadAsync(form).FileAndForget(fileOnlyIf: ex => true);

            await AsyncTestHelper.JoinPendingOperationsAsync(AsyncTestHelper.UnexpectedTimeout);

            Assert.Null(helper.Exception, helper.Message);
        }
        public void FileAndForgetFilterCanIgnoreExceptions()
        {
            using (var helper = new ThreadExceptionHelper())
            {
                var ex = new Exception();

                ThreadHelper.JoinableTaskFactory.Run(() =>
                {
                    ThrowExceptionAsync(ex).FileAndForget(fileOnlyIf: e => e != ex);
                    return(Task.CompletedTask);
                });

                JoinPendingOperations();
                Assert.Null(helper.Exception, helper.Message);
            }
        }
        public void FileAndForgetReportsThreadException()
        {
            using (var helper = new ThreadExceptionHelper())
            {
                var ex = new Exception();

                ThreadHelper.JoinableTaskFactory.Run(() =>
                {
                    ThrowExceptionAsync(ex).FileAndForget();
                    return(Task.CompletedTask);
                });

                JoinPendingOperations();
                Assert.AreSame(ex, helper.Exception);
            }
        }
        public void FileAndForgetIgnoresCancellationExceptions()
        {
            using (var helper = new ThreadExceptionHelper())
            {
                var form = new Form();
                form.Dispose();

                ThreadHelper.JoinableTaskFactory.Run(() =>
                {
                    YieldOntoControlMainThreadAsync(form).FileAndForget();
                    return(Task.CompletedTask);
                });

                JoinPendingOperations();
                Assert.Null(helper.Exception, helper.Message);
            }
        }