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
)