Beispiel #1
0
        public void WaitForTest()
        {
            using (var context = UnitTestSynchronizationContext.Create())
            {
                bool   flag        = false;
                Action asyncAction = async() =>
                {
                    await Task.Delay(10);

                    flag = true;
                };

                asyncAction();
                Assert.IsFalse(flag);

                context.WaitFor(() => flag, TimeSpan.FromSeconds(1));
                Assert.IsTrue(flag);

                AssertHelper.ExpectedException <TimeoutException>(() => context.WaitFor(() => !flag, TimeSpan.FromMilliseconds(10)));

                AssertHelper.ExpectedException <ArgumentNullException>(() => UnitTestSynchronizationContextExtensions.WaitFor(context, null, TimeSpan.FromMilliseconds(10)));
            }

            AssertHelper.ExpectedException <ArgumentNullException>(() => UnitTestSynchronizationContextExtensions.WaitFor(null, () => true, TimeSpan.FromMilliseconds(10)));
        }