8
8
using System ;
9
9
using System . Collections . Generic ;
10
10
using System . Threading ;
11
+ using System . Threading . Tasks ;
11
12
using Akka . Actor ;
12
13
using Akka . TestKit ;
13
14
using Akka . Util . Internal ;
@@ -21,7 +22,7 @@ public class DefaultScheduler_ActionScheduler_Schedule_Tests : AkkaSpec
21
22
{
22
23
[ Theory ]
23
24
[ InlineData ( 10 , 1000 ) ]
24
- public void ScheduleRepeatedly_in_milliseconds_Tests_and_verify_the_interval ( int initialDelay , int interval )
25
+ public async Task ScheduleRepeatedly_in_milliseconds_Tests_and_verify_the_interval ( int initialDelay , int interval )
25
26
{
26
27
// Prepare, set up actions to be fired
27
28
IActionScheduler scheduler = new HashedWheelTimerScheduler ( Sys . Settings . Config , Log ) ;
@@ -48,7 +49,7 @@ public void ScheduleRepeatedly_in_milliseconds_Tests_and_verify_the_interval(int
48
49
scheduler . ScheduleRepeatedly ( initialDelay , interval , ( ) => receiver . Tell ( "" ) , cancelable ) ;
49
50
50
51
//Expect to get a list from receiver after it has received three messages
51
- var dateTimeOffsets = ExpectMsg < List < DateTimeOffset > > ( ) ;
52
+ var dateTimeOffsets = await ExpectMsgAsync < List < DateTimeOffset > > ( ) ;
52
53
dateTimeOffsets . ShouldHaveCount ( 3 ) ;
53
54
Action < int , int > validate = ( a , b ) =>
54
55
{
@@ -76,7 +77,7 @@ public void ScheduleRepeatedly_in_milliseconds_Tests_and_verify_the_interval(int
76
77
[ Theory ]
77
78
[ InlineData ( 50 , 50 ) ]
78
79
[ InlineData ( 00 , 50 ) ]
79
- public void ScheduleRepeatedly_in_milliseconds_Tests ( int initialDelay , int interval )
80
+ public async Task ScheduleRepeatedly_in_milliseconds_Tests ( int initialDelay , int interval )
80
81
{
81
82
// Prepare, set up actions to be fired
82
83
IActionScheduler testScheduler = new HashedWheelTimerScheduler ( Sys . Settings . Config , Log ) ;
@@ -86,9 +87,9 @@ public void ScheduleRepeatedly_in_milliseconds_Tests(int initialDelay, int inter
86
87
testScheduler . ScheduleRepeatedly ( initialDelay , interval , ( ) => TestActor . Tell ( "Test" ) ) ;
87
88
88
89
//Just check that we receives more than one message
89
- ExpectMsg ( "Test" ) ;
90
- ExpectMsg ( "Test" ) ;
91
- ExpectMsg ( "Test" ) ;
90
+ await ExpectMsgAsync ( "Test" ) ;
91
+ await ExpectMsgAsync ( "Test" ) ;
92
+ await ExpectMsgAsync ( "Test" ) ;
92
93
}
93
94
finally
94
95
{
@@ -99,7 +100,7 @@ public void ScheduleRepeatedly_in_milliseconds_Tests(int initialDelay, int inter
99
100
[ Theory ]
100
101
[ InlineData ( 50 , 50 ) ]
101
102
[ InlineData ( 00 , 50 ) ]
102
- public void ScheduleRepeatedly_in_TimeSpan_Tests ( int initialDelay , int interval )
103
+ public async Task ScheduleRepeatedly_in_TimeSpan_Tests ( int initialDelay , int interval )
103
104
{
104
105
// Prepare, set up actions to be fired
105
106
IActionScheduler testScheduler = new HashedWheelTimerScheduler ( Sys . Settings . Config , Log ) ;
@@ -110,9 +111,9 @@ public void ScheduleRepeatedly_in_TimeSpan_Tests(int initialDelay, int interval)
110
111
TimeSpan . FromMilliseconds ( interval ) , ( ) => TestActor . Tell ( "Test" ) ) ;
111
112
112
113
//Just check that we receives more than one message
113
- ExpectMsg ( "Test" ) ;
114
- ExpectMsg ( "Test" ) ;
115
- ExpectMsg ( "Test" ) ;
114
+ await ExpectMsgAsync ( "Test" ) ;
115
+ await ExpectMsgAsync ( "Test" ) ;
116
+ await ExpectMsgAsync ( "Test" ) ;
116
117
}
117
118
finally
118
119
{
@@ -122,7 +123,7 @@ public void ScheduleRepeatedly_in_TimeSpan_Tests(int initialDelay, int interval)
122
123
123
124
124
125
[ Fact ]
125
- public void ScheduleOnceTests ( )
126
+ public async Task ScheduleOnceTests ( )
126
127
{
127
128
// Prepare, set up actions to be fired
128
129
IActionScheduler testScheduler = new HashedWheelTimerScheduler ( Sys . Settings . Config , Log ) ;
@@ -132,10 +133,10 @@ public void ScheduleOnceTests()
132
133
testScheduler . ScheduleOnce ( 50 , ( ) => TestActor . Tell ( "Test1" ) ) ;
133
134
testScheduler . ScheduleOnce ( 100 , ( ) => TestActor . Tell ( "Test2" ) ) ;
134
135
135
- ExpectMsg ( "Test1" ) ;
136
- ExpectMsg ( "Test2" ) ;
136
+ await ExpectMsgAsync ( "Test1" ) ;
137
+ await ExpectMsgAsync ( "Test2" ) ;
137
138
138
- ExpectNoMsg ( 100 ) ;
139
+ await ExpectNoMsgAsync ( 100 ) ;
139
140
}
140
141
finally
141
142
{
@@ -147,7 +148,7 @@ public void ScheduleOnceTests()
147
148
148
149
[ Theory ]
149
150
[ InlineData ( new int [ ] { 1 , 1 , 50 , 50 , 100 , 100 } ) ]
150
- public void When_ScheduleOnce_many_at_the_same_time_Then_all_fires ( int [ ] times )
151
+ public async Task When_ScheduleOnce_many_at_the_same_time_Then_all_fires ( int [ ] times )
151
152
{
152
153
// Prepare, set up actions to be fired
153
154
IActionScheduler scheduler = new HashedWheelTimerScheduler ( Sys . Settings . Config , Log ) ;
@@ -161,13 +162,13 @@ public void When_ScheduleOnce_many_at_the_same_time_Then_all_fires(int[] times)
161
162
}
162
163
163
164
//Perform the test
164
- ExpectMsg ( "Test1" ) ;
165
- ExpectMsg ( "Test1" ) ;
166
- ExpectMsg ( "Test50" ) ;
167
- ExpectMsg ( "Test50" ) ;
168
- ExpectMsg ( "Test100" ) ;
169
- ExpectMsg ( "Test100" ) ;
170
- ExpectNoMsg ( 50 ) ;
165
+ await ExpectMsgAsync ( "Test1" ) ;
166
+ await ExpectMsgAsync ( "Test1" ) ;
167
+ await ExpectMsgAsync ( "Test50" ) ;
168
+ await ExpectMsgAsync ( "Test50" ) ;
169
+ await ExpectMsgAsync ( "Test100" ) ;
170
+ await ExpectMsgAsync ( "Test100" ) ;
171
+ await ExpectNoMsgAsync ( 50 ) ;
171
172
}
172
173
finally
173
174
{
@@ -273,7 +274,7 @@ public void When_ScheduleRepeatedly_with_0_delay_Then_action_is_executed_immedia
273
274
}
274
275
275
276
[ Fact ]
276
- public void When_ScheduleRepeatedly_action_crashes_Then_no_more_calls_will_be_scheduled ( )
277
+ public async Task When_ScheduleRepeatedly_action_crashes_Then_no_more_calls_will_be_scheduled ( )
277
278
{
278
279
IActionScheduler testScheduler = new HashedWheelTimerScheduler ( Sys . Settings . Config , Log ) ;
279
280
@@ -285,8 +286,8 @@ public void When_ScheduleRepeatedly_action_crashes_Then_no_more_calls_will_be_sc
285
286
Interlocked . Increment ( ref timesCalled ) ;
286
287
throw new Exception ( "Crash" ) ;
287
288
} ) ;
288
- AwaitCondition ( ( ) => timesCalled >= 1 ) ;
289
- Thread . Sleep ( 200 ) ; //Allow any scheduled actions to be fired.
289
+ await AwaitConditionAsync ( ( ) => timesCalled >= 1 ) ;
290
+ await Task . Delay ( 200 ) ; //Allow any scheduled actions to be fired.
290
291
291
292
//We expect only one of the scheduled actions to actually fire
292
293
timesCalled . ShouldBe ( 1 ) ;
0 commit comments