public void SameTypeWithTimeout_ReturnsWithoutCall() { var fake = new SynchronizedFake(); var t = new Thread(new ThreadStart(() => fake.Run(() => fake.LockedWithTimeout()))); t.Start(); while (!t.IsAlive) { Thread.Sleep(10); } if (!fake.CallCompleted.WaitOne(5000)) { //normal end Assert.Fail("Should not be blocked!"); } Assert.That(fake.ChildCalled, new FalseConstraint()); }
public void SameType_Blocks() { var fake = new SynchronizedFake(); var t = new Thread(new ThreadStart(() => fake.Run(() => fake.Locked()))); t.Start(); while (!t.IsAlive) { Thread.Sleep(10); } if (fake.CallCompleted.WaitOne(2000)) { //normal end Assert.Fail("Should be blocked!"); } t.Abort(); Assert.That(fake.ChildCalled, new FalseConstraint()); }