public void DoNotAffectDisabledTimer()
        {
            #region Arrange

            var timer = new DispatcherTimer();
            timer.Tick += (sender, args) => { };
            timer.Interval = new TimeSpan(1, 0, 0, 0);
            Mock.Arrange(() => timer.Start()).OccursNever();
            Mock.Arrange(() => timer.Stop()).OccursNever();

            #endregion Arrange

            // Act
            timer.Restart();

            // Assert
            Assert.IsFalse(timer.IsEnabled);
            Mock.Assert(() => timer.Start());
            Mock.Assert(() => timer.Stop());
        }
        public void WhenTimerIsEnabled_ItShouldBeRestarted()
        {
            #region Arrange

            var timer = new DispatcherTimer();
            timer.Tick += (sender, args) => { };
            timer.Interval = new TimeSpan(1, 0, 0, 0);
            timer.Start();
            Mock.Arrange(() => timer.Start()).OccursOnce();
            Mock.Arrange(() => timer.Stop()).OccursOnce();

            #endregion Arrange

            // Act
            timer.Restart();

            // Assert
            Assert.IsTrue(timer.IsEnabled);
            Mock.Assert(() => timer.Start());
            Mock.Assert(() => timer.Stop());
        }