public void allowCommand_TimedOut_ReturnFalse()
        {
            wd = new MarsRover.WatchDogCore();
            Thread.Sleep(5000);

            Assert.AreEqual(wd.allowCommand(), false);
        }
        public void allowCommand_TimedOut_ReturnFalse()
        {
            wd = new MarsRover.WatchDogCore();
            Thread.Sleep(5000);

            Assert.AreEqual(wd.allowCommand(), false);
        }
        public void allowCommand_NotTimedOut_ReturnTrue()
        {
            wd = new MarsRover.WatchDogCore();
            wd.reportActivity();

            Assert.AreEqual(wd.allowCommand(), true);
        }
        public void allowCommand_NotTimedOut_ReturnTrue()
        {
            wd = new MarsRover.WatchDogCore();
            wd.reportActivity();

            Assert.AreEqual(wd.allowCommand(), true);
        }
        public void reportActivity_TimedOut_AllowComandBecomesTrue()
        {
            wd = new MarsRover.WatchDogCore();
            Thread.Sleep(5000);

            bool before = wd.allowCommand();
            wd.reportActivity();
            bool after = wd.allowCommand();

            Assert.AreNotEqual(before, after);
            Assert.AreEqual(after, true);
        }
        public void reportActivity_TimedOut_AllowComandBecomesTrue()
        {
            wd = new MarsRover.WatchDogCore();
            Thread.Sleep(5000);

            bool before = wd.allowCommand();

            wd.reportActivity();
            bool after = wd.allowCommand();

            Assert.AreNotEqual(before, after);
            Assert.AreEqual(after, true);
        }
        public void reportActivity_NotTimedOut_AllowCommandAlwaysTrue()
        {
            int delay = 500;
            wd = new MarsRover.WatchDogCore();

            int i;
            for (i = 0; i < 10000; i += delay)
            {
                Thread.Sleep(delay);
                wd.reportActivity();

                Assert.AreEqual(wd.allowCommand(), true);
            }
        }
        public void reportActivity_NotTimedOut_AllowCommandAlwaysTrue()
        {
            int delay = 500;

            wd = new MarsRover.WatchDogCore();

            int i;

            for (i = 0; i < 10000; i += delay)
            {
                Thread.Sleep(delay);
                wd.reportActivity();

                Assert.AreEqual(wd.allowCommand(), true);
            }
        }
 public GuardedMessageListener(int port, IQueue messageQueue,
                               String sourceIPAddress, WatchDogCore wd = null) :
     base(port, messageQueue, sourceIPAddress)
 {
     _wd = wd;
 }
 public GuardedMessageListener(int port, IQueue messageQueue,
     String sourceIPAddress, WatchDogCore wd = null)
     : base(port, messageQueue, sourceIPAddress)
 {
     _wd = wd;
 }