2 using System.Threading;
8 private static int mainThreadId;
10 public static int Main ()
12 mainThreadId = Thread.CurrentThread.ManagedThreadId;
13 return TestDriver.RunTests (typeof (Tests));
16 public static void TestMethod()
18 Console.WriteLine("{0} with {1} priority",
19 Thread.CurrentThread.Name,
20 Thread.CurrentThread.Priority.ToString());
22 Console.WriteLine("{0} with {1} priority",
23 Thread.CurrentThread.Name,
24 Thread.CurrentThread.Priority.ToString());
27 public static int test_0_main_thread_priority ()
29 Console.WriteLine("Testing main thread's priority");
30 if (Thread.CurrentThread.ManagedThreadId != mainThreadId)
32 Console.WriteLine("test_0_main_thread_priority() must be run on the main thread");
36 var before = Thread.CurrentThread.Priority;
37 Console.WriteLine("Priority: {0}", before);
38 if (before != ThreadPriority.Normal)
41 Console.WriteLine("Setting main thread's priority to AboveNormal");
42 Thread.CurrentThread.Priority = ThreadPriority.AboveNormal;
43 var after = Thread.CurrentThread.Priority;
44 Console.WriteLine("Priority: {0} {1}", before, after);
45 if (after != ThreadPriority.AboveNormal)
49 Console.WriteLine("Setting main thread's priority to BelowNormal");
50 Thread.CurrentThread.Priority = ThreadPriority.BelowNormal;
51 after = Thread.CurrentThread.Priority;
52 Console.WriteLine("Priority: {0} {1}", before, after);
53 if (after != ThreadPriority.BelowNormal)
57 Console.WriteLine("Setting main thread's priority to Normal");
58 Thread.CurrentThread.Priority = ThreadPriority.Normal;
59 after = Thread.CurrentThread.Priority;
60 Console.WriteLine("Priority: {0} {1}", before, after);
61 if (after != ThreadPriority.Normal)
67 public static int test_0_thread_priority ()
71 Thread Me = Thread.CurrentThread;
72 Thread TestThread = new Thread(new ThreadStart(TestMethod));
74 Console.WriteLine("Starting test thread with priority to AboveNormal");
75 ThreadPriority before = TestThread.Priority;
76 TestThread.Priority = ThreadPriority.AboveNormal;
77 TestThread.Name = "TestMethod";
79 ThreadPriority after = TestThread.Priority;
80 Console.WriteLine("Priority: {0} {1}",before,after);
81 if (before != ThreadPriority.Normal)
83 else if (after != ThreadPriority.AboveNormal)
86 TestThread.Priority = ThreadPriority.Normal;
87 after = TestThread.Priority;
88 Console.WriteLine("Setting test thread priority to Normal");
90 Console.WriteLine("Priority: {0} {1}",before,after);
92 if (after != ThreadPriority.Normal)
95 Console.WriteLine("Setting test thread priority to AboveNormal");
97 TestThread.Priority=ThreadPriority.AboveNormal;
98 after = TestThread.Priority;
100 Console.WriteLine("Priority: {0} {1}",before,after);
102 if (after != ThreadPriority.AboveNormal)
106 Console.WriteLine("Setting test thread priority to BelowNormal");
107 TestThread.Priority=ThreadPriority.BelowNormal;
108 after = TestThread.Priority;
109 Console.WriteLine("Priority: {0} {1}",before,after);
112 if (after != ThreadPriority.BelowNormal)
116 Console.WriteLine("Setting test thread priority back to Normal");
117 TestThread.Priority=ThreadPriority.Normal;
118 after = TestThread.Priority;
119 Console.WriteLine("Priority: {0} {1}",before,after);
122 if (after != ThreadPriority.Normal)