public void TearDown()
 {
     if (TestScheduler != null)
     {
         try {
             if (TestScheduler.DedicatedThread.IsAlive)
             {
                 TestScheduler.DedicatedThread.Abort();
             }
             TestScheduler.Dispose();
         }  catch(ObjectDisposedException)
         {
         } finally {
             TestScheduler = null;
         }
     }
 }
 static void AssertQueuedOnScheduler(DedicatedThreadScheduler scheduler)
 {
     Assert.AreSame(TaskScheduler.Current, scheduler);
     Assert.AreSame(Thread.CurrentThread, scheduler.DedicatedThread);
 }
 public void Setup()
 {
     TestScheduler = new DedicatedThreadScheduler(DedicatedThreadName);
     TestFactory   = new TaskFactory(TestScheduler);
 }