@@ -22,22 +22,22 @@ public enum WorkType
2222 Async
2323 }
2424
25- private readonly IActor _actor ;
26- private readonly IActorWorkScheduler _scheduler ;
25+ private IActor _actor ;
26+ private IActorWorkScheduler _scheduler ;
2727
2828 public ActorWorkSchedulerTests ( )
2929 {
30- _actor = Mock . Of < IActor > ( ) ;
31- _scheduler = new ActorWorkScheduler ( _actor , new ActorTaskFactory ( ) ) ;
30+ var actorTaskFactory = new ActorTaskFactory ( ) ;
31+ _actor = new Actor ( actorTaskFactory ) ;
32+ _actor . Start ( ) ;
33+ _scheduler = new ActorWorkScheduler ( _actor , actorTaskFactory ) ;
3234 }
3335
3436 [ Theory ]
3537 [ InlineData ( WorkType . Async ) ]
3638 [ InlineData ( WorkType . Sync ) ]
3739 public void ShouldBeAbleToScheduleWorkToRepeatAtAFixedInterval ( WorkType workType )
3840 {
39- SetUpActor ( workType ) ;
40-
4141 var expectedInterval = TimeSpan . FromMilliseconds ( 100 ) ;
4242 var times = new List < DateTime > ( ) ;
4343 var sampleSize = 5 ;
@@ -86,7 +86,6 @@ public void ShouldBeAbleToScheduleWorkToRepeatAtAFixedInterval(WorkType workType
8686 [ InlineData ( WorkType . Sync ) ]
8787 public void ShouldBeAbleToScheduleWorkToStartImmediatelyBeforeRepeatingAtIntervals ( WorkType workType )
8888 {
89- SetUpActor ( workType ) ;
9089 var expectedInterval = TimeSpan . FromMilliseconds ( 100 ) ;
9190 var scheduleTime = DateTime . UtcNow ;
9291 DateTime ? firstWork = null ;
@@ -128,7 +127,11 @@ public void ShouldBeAbleToScheduleWorkToStartImmediatelyBeforeRepeatingAtInterva
128127 [ InlineData ( WorkType . Sync ) ]
129128 public void ShouldBeAbleToSpecifyThatWorkIsLongRunning ( WorkType workType )
130129 {
130+ var actorTaskFactory = new ActorTaskFactory ( ) ;
131+ _actor = Mock . Of < IActor > ( ) ;
131132 SetUpActor ( workType ) ;
133+ _actor . Start ( ) ;
134+ _scheduler = new ActorWorkScheduler ( _actor , actorTaskFactory ) ;
132135
133136 switch ( workType )
134137 {
@@ -156,8 +159,6 @@ public void ShouldBeAbleToSpecifyThatWorkIsLongRunning(WorkType workType)
156159 [ InlineData ( WorkType . Sync ) ]
157160 public void ShouldBeAbleToCancelSchedule ( WorkType workType )
158161 {
159- SetUpActor ( workType ) ;
160-
161162 var output = new List < string > ( ) ;
162163 var interval = TimeSpan . FromMilliseconds ( 100 ) ;
163164 var task = default ( Task ) ;
@@ -196,9 +197,6 @@ public void ShouldBeAbleToCancelSchedule(WorkType workType)
196197 [ InlineData ( WorkType . Sync , WorkType . Sync ) ]
197198 public void ASecondCallToScheduleShouldCancelTheWorkPreviouslyScheduled ( WorkType workType1 , WorkType workType2 )
198199 {
199- SetUpActor ( workType1 ) ;
200- SetUpActor ( workType2 ) ;
201-
202200 var output = new List < string > ( ) ;
203201 var interval = TimeSpan . FromMilliseconds ( 100 ) ;
204202 var task1 = default ( Task ) ;
@@ -266,7 +264,6 @@ public void ASecondCallToScheduleShouldCancelTheWorkPreviouslyScheduled(WorkType
266264 [ InlineData ( WorkType . Sync ) ]
267265 public void ShouldBeAbleToConfigureScheduleToRescheduleInCaseOfUnexpectedErrorButNotCancellation ( WorkType workType )
268266 {
269- SetUpActor ( workType ) ;
270267 var interval = TimeSpan . FromMilliseconds ( 100 ) ;
271268 var times = new List < DateTime > ( ) ;
272269 var emittedException = default ( Exception ) ;
@@ -316,7 +313,6 @@ public void ShouldBeAbleToConfigureScheduleToRescheduleInCaseOfUnexpectedErrorBu
316313 [ InlineData ( WorkType . Sync ) ]
317314 public void WhenAnUnhandledErrorOccursInTheWorkTheScheduleShouldStopAndEmitTheError ( WorkType workType )
318315 {
319- SetUpActor ( workType ) ;
320316 var interval = TimeSpan . FromMilliseconds ( 100 ) ;
321317 var times = new List < DateTime > ( ) ;
322318 var task = default ( Task ) ;
0 commit comments