public void TestSleep() { WakeUpCommand wakeup = new WakeUpCommand(); ActiveObjectEngine e = new ActiveObjectEngine(); // Building multithreaded systems using variations of this technique has been, and will continue to be, a // very common practice.Threads of this kind have been known as run - to - completion tasks(RTC); // each Command instance runs to completion before the next Command instance can run.The name RTC // implies that the Command instances do not block. // The fact that the Command instances all run to completion gives RTC threads the interesting advantage // that they all share the same runtime stack. Unlike the threads in a traditional multithreaded system, // it is not necessary to define or allocate a separate runtime stack for each RTC thread.This can be a // powerful advantage in memory - constrained systems with many threads. SleepCommand c = new SleepCommand(1000, e, wakeup); e.AddCommand(c); DateTime start = DateTime.Now; e.Run(); DateTime stop = DateTime.Now; double sleepTime = (stop - start).TotalMilliseconds; Assert.IsTrue(sleepTime >= 1000, "SleepTime " + sleepTime + " expected > 1000"); Assert.IsTrue(sleepTime <= 1100, "SleepTime " + sleepTime + " expected < 1100"); Assert.IsTrue(wakeup.executed, "Command Executed"); }
public ViewModelBase() { this.MainWindow = Application.Current.MainWindow as MainWindow; TogleVisible = new TogleVisibilityCommand(); WakeUp = new WakeUpCommand(); SetFocus = new SetFocusCommand(); StartApplication = new StartApplicationCommand(); }
static void Main(string[] args) { Command wakeup = new WakeUpCommand(); var e = new ActiveObjectEngine(); Command sleepCommand = new SleepCommand(1000, e, wakeup); e.addCommand(sleepCommand); long start = DateTime.Now.Second; e.run(); long end = DateTime.Now.Second; long sleepTime = end - start; Console.WriteLine($"SleepTime is {sleepTime}"); }
public void TestSleep() { var wakeUp = new WakeUpCommand(); var e = new ActiveObjectEngine(); var c = new SleepCommand(1000, e, wakeUp); e.AddCommand(c); var start = DateTime.Now; e.Run(); var stop = DateTime.Now; var sleepTime = (stop - start).TotalMilliseconds; Assert.IsTrue(sleepTime >= 1000, $"SleepTime {sleepTime} expected > 1000"); Assert.IsTrue(sleepTime <= 1100, $"SleepTime {sleepTime} expected < 1100"); Assert.IsTrue(wakeUp.Executed, "Command executed"); }
public void TestSleep() { WakeUpCommand wakeUp = new WakeUpCommand(); ActiveObjectEngine objectEngine = new ActiveObjectEngine(); SleepCommand sleep = new SleepCommand(1000, objectEngine, wakeUp); objectEngine.AddCommand(sleep); DateTime start = DateTime.Now; objectEngine.Run(); DateTime stop = DateTime.Now; double sleepTime = (stop - start).TotalMilliseconds; Assert.IsTrue(sleepTime >= 1000, "SleepTime " + sleepTime + " exepcted > 1000"); Assert.IsTrue(sleepTime <= 1100, "SleepTime " + sleepTime + " exepcted < 1100"); Assert.IsTrue(wakeUp.executed, "Command Executed"); }
public void Testsleep() { WakeUpCommand wakeUp = new WakeUpCommand(); ActiveObjectEngine activeObjectEngine = new ActiveObjectEngine(); SleepCommand sleepCommand = new SleepCommand(1000, activeObjectEngine, wakeUp); activeObjectEngine.AddCommand(sleepCommand); DateTime start = DateTime.Now; activeObjectEngine.Run(); DateTime end = DateTime.Now; double sleepTime = (end - start).TotalMilliseconds; Assert.True(sleepTime >= 1000, $"sleep time {sleepTime} expected > 1000"); //Assert.True(sleepTime <= 1000, $"sleep time {sleepTime} expected < 1000"); Assert.True(wakeUp.excuted); }