public void Wait_then_timeout() { MonitorSemaphore monitor = new MonitorSemaphore(); var timeout = monitor.Wait(TimeSpan.FromSeconds(0.1)); Assert.IsFalse(timeout, "timeout should have occurred"); }
public void Signal_then_wait() { MonitorSemaphore monitor = new MonitorSemaphore(); monitor.Signal(); var timeout = monitor.Wait(TimeSpan.FromSeconds(1)); Assert.IsTrue(timeout, "timeout should not have occurred"); }
public void Wait_then_Signal() { MonitorSemaphore monitor = new MonitorSemaphore(); new Thread(() => { Thread.Sleep(100); monitor.Signal(); }).Start(); var timeout = monitor.Wait(TimeSpan.FromSeconds(3)); Assert.IsTrue(timeout, "timeout should not have occurred"); }