/System.Reactive.Tests/System.Reactive.Concurrency/NewThreadSchedulerTest.cs

https://github.com/gshackles/mono-reactive · C# · 26 lines · 25 code · 1 blank · 0 comment · 0 complexity · 5a5e75a72cb172b8f083b0554068f611 MD5 · raw file

  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4. using System.Reactive;
  5. using System.Reactive.Concurrency;
  6. using System.Reactive.Linq;
  7. using System.Threading;
  8. using NUnit.Framework;
  9. namespace System.Reactive.Concurrency.Tests
  10. {
  11. [TestFixture]
  12. public class NewThreadSchedulerTest
  13. {
  14. [Test]
  15. public void Cancellation ()
  16. {
  17. bool raised = false;
  18. var dis = new NewThreadScheduler ().Schedule<object> (null, TimeSpan.FromMilliseconds (300), (sch, stat) => raised = true);
  19. Assert.IsFalse (raised, "#1");
  20. dis.Dispose (); // immediately, to not raise event.
  21. Thread.Sleep (400);
  22. Assert.IsFalse (raised, "#2");
  23. }
  24. }
  25. }