public void TestAllTasksComplete()
{
ThreadPoolExecutor executor = new ThreadPoolExecutor();
Assert.IsNotNull(executor);
Assert.IsFalse(executor.IsShutdown);
for(int i = 0; i < JOB_COUNT; ++i)
{
executor.QueueUserWorkItem(TaskThatCountsDown);
}
Assert.IsTrue(this.doneLatch.await(TimeSpan.FromMilliseconds(30 * 1000)));
executor.Shutdown();
Assert.IsTrue(executor.IsShutdown);
}