public void RaiseRequestExitApplication_RaisesEvent()
        {
            PhaseMock mock = new PhaseMock();

            mock.RequestExitApplication += (sender, args) => Assert.AreEqual(mock, sender);
            mock.RaiseRequestExit();
        }
        public void RaisesPhaseCompleted_ReturnsCorrectOutput()
        {
            PhaseMock mock = new PhaseMock();

            mock.Start();

            mock.Completed += (sender, args) =>
            {
                Assert.AreEqual(sender, mock);
                Assert.AreEqual(args.Phase, mock);
            };
            mock.RaiseCompleted();
        }
        public void UpdateCorrectTime()
        {
            PhaseMock mock = new PhaseMock();

            mock.Start();
            Assert.IsTrue(mock.Enabled);

            mock.Update(122d);
            Assert.AreEqual(122d, mock.TimeSinceLastStart, 0.01d);

            mock.Stop();
            Assert.IsFalse(mock.Enabled);
        }