Esempio n. 1
0
        public void IsCompleleted_DispatcherThread()
        {
            var awaitable = new MainThreadAwaitable(_mainThread);

            Thread.CurrentThread.ManagedThreadId.Should().Be(_mainThread.ThreadId);
            awaitable.GetAwaiter().IsCompleted.Should().Be(true);
        }
Esempio n. 2
0
        public void IsCompleleted_BackgroundThread()
        {
            var awaitable = new MainThreadAwaitable(_dispatcher);

            Thread.CurrentThread.Should().NotBe(_dispatcherThread);
            awaitable.GetAwaiter().IsCompleted.Should().Be(false);
        }
Esempio n. 3
0
        public void IsCompleleted_BackgroundThread()
        {
            var awaitable = new MainThreadAwaitable(_mainThread);

            Thread.CurrentThread.ManagedThreadId.Should().NotBe(_mainThread.ThreadId);
            awaitable.GetAwaiter().IsCompleted.Should().Be(false);
        }
Esempio n. 4
0
        public void GetResult_ThrowOnBackgroundThread()
        {
            var awaitable = new MainThreadAwaitable(_mainThread);

            Action a = () => awaitable.GetAwaiter().GetResult();

            a.ShouldThrow <InvalidOperationException>();
        }
Esempio n. 5
0
        public void GetResult_ThrowOnBackgroundThread()
        {
            var thread    = Dispatcher.FromThread(UIThreadHelper.Instance.Thread);
            var awaitable = new MainThreadAwaitable(thread);

            Action a = () => awaitable.GetAwaiter().GetResult();

            a.ShouldThrow <InvalidOperationException>();
        }
Esempio n. 6
0
        public void GetResult_ThrowOnBackgroundThread()
        {
            var cts       = new CancellationTokenSource();
            var awaitable = new MainThreadAwaitable(_mainThread, cts.Token);

            cts.Cancel();

            Action a = () => awaitable.GetAwaiter().GetResult();

            a.ShouldThrow <OperationCanceledException>();
        }
Esempio n. 7
0
        public async Task Await_OnDispatcherThread()
        {
            var awaitable = new MainThreadAwaitable(_mainThread);

            await awaitable;

            Thread.CurrentThread.ManagedThreadId.Should().Be(_mainThread.ThreadId);
            Action a = () => awaitable.GetAwaiter().GetResult();

            a.ShouldNotThrow();
        }
Esempio n. 8
0
        public async Task Await_BackgroundThread()
        {
            var awaitable = new MainThreadAwaitable(_dispatcher);

            await awaitable;

            Thread.CurrentThread.Should().Be(_dispatcherThread);
            Action a = () => awaitable.GetAwaiter().GetResult();

            a.ShouldNotThrow();
        }
Esempio n. 9
0
 public AwaitableWrapper(MainThreadAwaitable awaitable)
 {
     getAwaiter = () => new AwaiterWrapper(awaitable.GetAwaiter());
 }
Esempio n. 10
0
 public AwaitableWrapper(MainThreadAwaitable awaitable)
 {
     getAwaiter = () => new AwaiterWrapper(awaitable.GetAwaiter());
 }