void sleepThread(Object o)
        {
            ConfluentWaitHandle handle = (ConfluentWaitHandle)o;

            Thread.Sleep(1000);
            handle.EndThread();
        }
		public void TestA ()
		{
			ConfluentWaitHandle handle = new ConfluentWaitHandle ();
			Thread[] list = new Thread[] {
				new Thread (sleepThread), new Thread (sleepThread)
			};

			for (int i = 0; i < list.Length; i ++) {
				handle.StartThread ();
				list[i].Start (handle);
			}

			DateTime dt = DateTime.Now;
			handle.WaitOne ();
			double t = DateTime.Now.Subtract (dt).TotalSeconds;

			// こんな適当なチェックでいいのかな…
			Assert.IsTrue (t >= 0.8 && t <= 1.2, t.ToString ());
		}
        public void TestA()
        {
            ConfluentWaitHandle handle = new ConfluentWaitHandle();

            Thread[] list = new Thread[] {
                new Thread(sleepThread), new Thread(sleepThread)
            };

            for (int i = 0; i < list.Length; i++)
            {
                handle.StartThread();
                list[i].Start(handle);
            }

            DateTime dt = DateTime.Now;

            handle.WaitOne();
            double t = DateTime.Now.Subtract(dt).TotalSeconds;

            // こんな適当なチェックでいいのかな…
            Assert.IsTrue(t >= 0.8 && t <= 1.2, t.ToString());
        }