AsyncOperationManagerTest.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // AsyncOperationManager.cs
  3. //
  4. // Author:
  5. // Jonathan Pobst <[email protected]>
  6. //
  7. // Copyright (C) 2007 Novell, Inc.
  8. //
  9. #if NET_2_0
  10. using System;
  11. using System.Threading;
  12. using System.ComponentModel;
  13. using System.Globalization;
  14. using NUnit.Framework;
  15. namespace MonoTests.System.ComponentModel
  16. {
  17. [TestFixture]
  18. public class AsyncOperationManagerTest
  19. {
  20. [Test]
  21. public void SyncContext ()
  22. {
  23. SynchronizationContext sc1 = new SynchronizationContext ();
  24. SynchronizationContext sc2 = new SynchronizationContext ();
  25. Assert.IsNull (SynchronizationContext.Current, "A1");
  26. Assert.IsNotNull (AsyncOperationManager.SynchronizationContext, "A2");
  27. Assert.IsNotNull (SynchronizationContext.Current, "A3");
  28. SynchronizationContext.SetSynchronizationContext (sc1);
  29. Assert.AreSame (sc1, SynchronizationContext.Current, "A4");
  30. Assert.AreSame (sc1, AsyncOperationManager.SynchronizationContext, "A5");
  31. AsyncOperationManager.SynchronizationContext = sc2;
  32. Assert.AreSame (sc2, SynchronizationContext.Current, "A6");
  33. Assert.AreSame (sc2, AsyncOperationManager.SynchronizationContext, "A7");
  34. SynchronizationContext.SetSynchronizationContext (null);
  35. Assert.IsNull (SynchronizationContext.Current, "A8");
  36. // This is a brand new one, not sc1 or sc2
  37. Assert.IsNotNull (AsyncOperationManager.SynchronizationContext, "A9");
  38. Assert.IsNotNull (SynchronizationContext.Current, "A10");
  39. AsyncOperationManager.SynchronizationContext = null;
  40. Assert.IsNull (SynchronizationContext.Current, "A11");
  41. // This is a brand new one, not sc1 or sc2
  42. Assert.IsNotNull (AsyncOperationManager.SynchronizationContext, "A12");
  43. Assert.IsNotNull (SynchronizationContext.Current, "A13");
  44. }
  45. }
  46. }
  47. #endif