public void IdleMode_OnStoppingFromAnyMode() { IClock clock = new Pomodoro.Model.Clock(); clock.StartWork(); clock.Stop(); Assert.AreEqual(Mode.Idle, clock.Mode); clock.StartShortBreak(); clock.Stop(); Assert.AreEqual(Mode.Idle, clock.Mode); clock.StartLongBreak(); clock.Stop(); Assert.AreEqual(Mode.Idle, clock.Mode); }
public void IsRunning_ReturnsTrue_OnlyWhenRunning() { IClock clock = new Pomodoro.Model.Clock(_testDuration); clock.StartWork(); Assert.IsTrue(clock.IsRunning); clock.Stop(); Assert.IsFalse(clock.IsRunning); clock.StartShortBreak(); Assert.IsTrue(clock.IsRunning); clock.Stop(); Assert.IsFalse(clock.IsRunning); clock.StartLongBreak(); Assert.IsTrue(clock.IsRunning); clock.Stop(); Assert.IsFalse(clock.IsRunning); }
public void LongBreakingEvent_ShouldProvide_ElapsedAndRemainingTime() { int elapsed_ms = 0; int remaining_ms = 0; Action test = () => { IClock clock = new Pomodoro.Model.Clock(_testDuration); // LongBreak = 2ms bool firstTime = true; clock.LongBreaking += (sender, e) => { if (firstTime) { firstTime = false; elapsed_ms = e.Elapsed_ms; remaining_ms = e.Remaining_ms; } }; clock.StartLongBreak(); }; DispatcherHelper.ExecuteOnDispatcherThread(test, millisecondsToWait: 20); Assert.AreEqual(1, elapsed_ms); Assert.AreEqual((int)_testDuration.LongBreak.TotalMilliseconds - elapsed_ms, remaining_ms); }
public void Stop_PriorToStartingAgain() { bool begin = true; // at the beginning, stopped will be false and its okay. bool stopped = false; bool workStarted = false; bool shortBreakStarted = false; bool longBreakStarted = false; Action test = () => { IClock clock = new Pomodoro.Model.Clock(_testDuration); clock.Stopped += (sender, e) => { stopped = true; }; clock.WorkStarted += (sender, e) => { if (begin) begin = false; else Assert.IsTrue(stopped); workStarted = true; stopped = false; }; clock.ShortBreakStarted += (sender, e) => { if (begin) begin = false; else Assert.IsTrue(stopped); shortBreakStarted = true; stopped = false; }; clock.LongBreakStarted += (sender, e) => { if (begin) begin = false; else Assert.IsTrue(stopped); longBreakStarted = true; stopped = false; }; clock.StartWork(); clock.StartShortBreak(); clock.StartLongBreak(); clock.StartWork(); clock.StartLongBreak(); clock.StartShortBreak(); clock.StartWork(); clock.Stop(); }; DispatcherHelper.ExecuteOnDispatcherThread(test, millisecondsToWait: 20); Assert.IsTrue(workStarted); Assert.IsTrue(shortBreakStarted); Assert.IsTrue(longBreakStarted); }
public void RaiseStoppedEvent_AfterLongBreakElapsed() { bool eventRaised = false; Action test = () => { IClock clock = new Pomodoro.Model.Clock(_testDuration); // LongBreak = 2ms clock.Stopped += (sender, e) => { eventRaised = true; }; clock.StartLongBreak(); }; DispatcherHelper.ExecuteOnDispatcherThread(test, millisecondsToWait: 20); Assert.IsTrue(eventRaised); }
public void RaiseLongBreakStartedEvent_OnStartingLongBreak() { IClock clock = new Pomodoro.Model.Clock(_testDuration); bool eventReceived = false; clock.LongBreakStarted += (sender, e) => { eventReceived = true; }; clock.StartLongBreak(); Assert.IsTrue(eventReceived); }
public void RaiseLongBreakingEvent_EveryMillisecond_OnStartingLongBreak() { int eventCount = 0; Action test = () => { IClock clock = new Pomodoro.Model.Clock(_testDuration); // LongBreak = 2ms clock.LongBreaking += (sender, e) => { eventCount++; }; clock.StartLongBreak(); }; DispatcherHelper.ExecuteOnDispatcherThread(test, millisecondsToWait: 20); Assert.AreEqual(2, eventCount); }
public void LongBreakMode_OnStartingLongBreak() { IClock clock = new Pomodoro.Model.Clock(); clock.StartWork(); clock.StartShortBreak(); clock.StartLongBreak(); Assert.AreEqual(Mode.LongBreak, clock.Mode); }