public void Counting_down_to_0___restarting() { _configMock .Setup(c => c.StartSeconds) .Returns(3) .Verifiable(); CountDownViewModel sut = this.CreateSut(); _configMock.Verify(); sut.StartCommand.Execute(null); Assert.AreEqual(3, sut.Seconds, "after Start"); Assert.AreEqual(State.Red, sut.State, "after Start"); _timer.OnTick(); // 2 _timer.OnTick(); // 1 _timer.OnTick(); // 0 _timer.OnTick(); // 3 Assert.AreEqual(3, sut.Seconds, "should have restarted"); Assert.AreEqual(State.Red, sut.State, "should have restarted"); }