public void TestThreadCount()
{
int numOfThreads = 10;
CountdownEvent counter = new CountdownEvent(numOfThreads);
ManualResetEventSlim mre = new ManualResetEventSlim();
for (int i = 0; i < numOfThreads; i++)
{
new Thread(() => { counter.Signal(); mre.Wait(); }) { IsBackground = true }.Start();
}
counter.Wait();
try
{
Assert.True(Process.GetCurrentProcess().Threads.Count >= numOfThreads);
}
finally
{
mre.Set();
}
}