public async Task Dispatch_When_Called_Inside_Strand_Action_Is_Executed_Inline() { var originalTaskThreadId = INVALID_THREAD_ID; var inDispatchTaskThreadId = INVALID_THREAD_ID; var task = TestTaskFactory.StartNew(() => { originalTaskThreadId = Thread.CurrentThread.ManagedThreadId; m_strandScheduler.Dispatch(() => inDispatchTaskThreadId = Thread.CurrentThread.ManagedThreadId).Wait(); }); await task; Assert.AreNotEqual(INVALID_THREAD_ID, originalTaskThreadId); Assert.AreNotEqual(INVALID_THREAD_ID, inDispatchTaskThreadId); Assert.AreEqual(originalTaskThreadId, inDispatchTaskThreadId); }