public virtual void TestLock() { l.Lock(); var latch = new CountdownEvent(1); Task.Factory.StartNew(() => { if (!l.TryLock()) { latch.Signal(); } }); Assert.IsTrue(latch.Wait(TimeSpan.FromSeconds(5))); l.ForceUnlock(); }
public virtual void TestForceUnlock() { l.Lock(); var latch = new CountdownEvent(1); var t2 = new Thread(delegate(object o) { try { l.ForceUnlock(); latch.Signal(); } catch { } }); t2.Start(); Assert.IsTrue(latch.Wait(TimeSpan.FromSeconds(100))); Assert.IsFalse(l.IsLocked()); }