public void TestTimer_KeepRunning() { var timer = new TestTimer(1.0f, SomeTimed.RunType.KeepRunning); timer.OnUpdate(new TimeSlice(.3f)); Assert.AreEqual(0.3f, timer.TimerState); Assert.AreEqual(0.3f, timer.Progress); timer.OnUpdate(new TimeSlice(.7f)); Assert.AreEqual(0, timer.TimerState); Assert.AreEqual(0, timer.Progress); Assert.AreEqual(1, timer.finishedCount); Assert.IsFalse(timer.IsFinished); timer.OnUpdate(new TimeSlice(.7f)); Assert.AreEqual(0.7f, timer.TimerState); Assert.AreEqual(0.7f, timer.Progress); Assert.IsFalse(timer.IsFinished); timer.OnUpdate(new TimeSlice(.3f)); Assert.AreEqual(0, timer.TimerState); Assert.AreEqual(0, timer.Progress); Assert.AreEqual(2, timer.finishedCount); Assert.IsFalse(timer.IsFinished); }