예제 #1
0
        public void TestTerminateWaiting()
        {
            using (EntryCountingEvent inst = new EntryCountingEvent())
            {
                bool finished = false;
                Task task     = null;
                using (inst.Enter())
                {
                    task = Task.Run(() =>
                    {
                        inst.TerminateAndWait();
                        finished = true;
                    });

                    TimingAssert.IsFalse(5000, () => finished);
                }
                TimingAssert.IsTrue(5000, () => finished);

                task.Wait();
            }
        }