public void StartsPullTimeEntriesIfOnlyCleanUpIsQueue() { QueueSyncs(PullTimeEntries); Dequeue(); DequeuedStates.ShouldBeSameEventsAs(PullTimeEntries); }
public void StartsSleepIfNothingQueued() { Dequeue(); DequeuedStates.ShouldBeSameEventsAs( Sleep ); }
public void StartsCleanUpIfOnlyCleanUpIsQueue() { QueueSyncs(CleanUp); Dequeue(); DequeuedStates.ShouldBeSameEventsAs(CleanUp); }
public void StartsPushIfOnlyPushQueued() { QueueSyncs(Push); Dequeue(); DequeuedStates.ShouldBeSameEventsAs( Push ); }
public void AlwaysRunsCleanUpAfterPushAndPull() { QueueSyncs(CleanUp, Push, Pull); DequeueUntilSleep(); DequeuedStates.ShouldBeSameEventsAs( Pull, Push, CleanUp, Sleep ); }
public void RunsCleanUpJustBeforeSleepIfPullAndPushIsQueuedAsWell() { QueueSyncs(Pull, Push, CleanUp); DequeueUntilSleep(); DequeuedStates.ShouldBeSameEventsAs( Pull, Push, CleanUp, Sleep ); }
public void RunsTwoFullCyclesIfPullIsQueuedAfterFirstPullStarted() { QueueSyncs(Pull); Dequeue(); QueueSyncs(Pull); DequeueUntilSleep(); DequeuedStates.ShouldBeSameEventsAs( Pull, Push, Pull, Push, Sleep ); }
public void RunsFullCycleOnceNoMatterWhatIsQueuedIfPullIsQueued(bool[] pushPull) { DequeuedStates.Clear(); var states = (pushPull ?? Enumerable.Empty <bool>()) .Select(b => b ? Push : Pull).ToArray(); QueueSyncs(states); if (!states.Contains(Pull)) { QueueSyncs(Pull); } DequeueUntilSleep(); DequeuedStates.ShouldBeSameEventsAs( Pull, Push, Sleep ); }