public void SimpleOneSleepWithUnevenAdvanceTimeTest() { var virtualDelay = new VirtualDelay(); try { var hasCompleted = false; Task.Run(() => { virtualDelay.Sleep(TimeSpan.FromSeconds(10)); hasCompleted = true; }); Thread.Sleep(10); hasCompleted.ShouldBeFalse(); virtualDelay.AdvanceTimeBy(TimeSpan.FromSeconds(5)); Thread.Sleep(10); hasCompleted.ShouldBeFalse(); virtualDelay.AdvanceTimeBy(TimeSpan.FromSeconds(7)); Thread.Sleep(10); hasCompleted.ShouldBeTrue(); } catch (Exception e) { Console.WriteLine(e); throw; } finally { Console.WriteLine(virtualDelay._stringBuilder.ToString()); } }
public void SimpleOneSleepTest() { var hasCompleted = false; var virtualDelay = new VirtualDelay(); Task.Run(() => { virtualDelay.Sleep(TimeSpan.FromSeconds(30)); hasCompleted = true; }); Thread.Sleep(10); hasCompleted.ShouldBeFalse(); virtualDelay.AdvanceTimeBy(TimeSpan.FromSeconds(29)); Thread.Sleep(10); hasCompleted.ShouldBeFalse(); virtualDelay.AdvanceTimeBy(TimeSpan.FromSeconds(1)); Thread.Sleep(10); hasCompleted.ShouldBeTrue(); }