@@ -169,10 +169,9 @@ public async Task CanWatchRemoteActor()
169169 probe . Context . Watch ( remoteActor ) ;
170170 await Task . Delay ( 20 ) ; // allow RemoteWatch to propagate
171171
172- await System . Root . StopAsync ( remoteActor ) ;
172+ await System . Root . PoisonAsync ( remoteActor ) ;
173173
174- var terminated = await probe . ExpectSystemMessageAsync < Terminated > ( TimeSpan . FromSeconds ( 10 ) ) ;
175- Assert . Equal ( remoteActor , terminated . Who ) ;
174+ await probe . ExpectSystemMessageAsync < Terminated > ( t => Equals ( t . Who , remoteActor ) , TimeSpan . FromSeconds ( 10 ) ) ;
176175 }
177176
178177 [ Fact ]
@@ -188,11 +187,13 @@ public async Task CanWatchMultipleRemoteActors()
188187 probe . Context . Watch ( remoteActor2 ) ;
189188 await Task . Delay ( 20 ) ; // allow RemoteWatch to propagate
190189
191- await System . Root . StopAsync ( remoteActor1 ) ;
192- await System . Root . StopAsync ( remoteActor2 ) ;
190+ await System . Root . PoisonAsync ( remoteActor1 ) ;
191+ await System . Root . PoisonAsync ( remoteActor2 ) ;
193192
194- var term1 = await probe . ExpectSystemMessageAsync < Terminated > ( TimeSpan . FromSeconds ( 10 ) ) ;
195- var term2 = await probe . ExpectSystemMessageAsync < Terminated > ( TimeSpan . FromSeconds ( 10 ) ) ;
193+ var term1 = await probe . ExpectSystemMessageAsync < Terminated > ( t =>
194+ Equals ( t . Who , remoteActor1 ) || Equals ( t . Who , remoteActor2 ) , TimeSpan . FromSeconds ( 10 ) ) ;
195+ var term2 = await probe . ExpectSystemMessageAsync < Terminated > ( t =>
196+ Equals ( t . Who , remoteActor1 ) || Equals ( t . Who , remoteActor2 ) , TimeSpan . FromSeconds ( 10 ) ) ;
196197 new [ ] { term1 . Who , term2 . Who } . Should ( ) . BeEquivalentTo ( new [ ] { remoteActor1 , remoteActor2 } ) ;
197198 }
198199
@@ -209,12 +210,10 @@ public async Task MultipleLocalActorsCanWatchRemoteActor()
209210 probe2 . Context . Watch ( remoteActor ) ;
210211 await Task . Delay ( 20 ) ; // allow RemoteWatch to propagate
211212
212- await System . Root . StopAsync ( remoteActor ) ;
213+ await System . Root . PoisonAsync ( remoteActor ) ;
213214
214- var t1 = await probe1 . ExpectSystemMessageAsync < Terminated > ( TimeSpan . FromSeconds ( 10 ) ) ;
215- var t2 = await probe2 . ExpectSystemMessageAsync < Terminated > ( TimeSpan . FromSeconds ( 10 ) ) ;
216- Assert . Equal ( remoteActor , t1 . Who ) ;
217- Assert . Equal ( remoteActor , t2 . Who ) ;
215+ await probe1 . ExpectSystemMessageAsync < Terminated > ( t => Equals ( t . Who , remoteActor ) , TimeSpan . FromSeconds ( 10 ) ) ;
216+ await probe2 . ExpectSystemMessageAsync < Terminated > ( t => Equals ( t . Who , remoteActor ) , TimeSpan . FromSeconds ( 10 ) ) ;
218217 }
219218
220219 [ Fact ]
@@ -233,10 +232,9 @@ public async Task CanUnwatchRemoteActor()
233232 probe2 . Context . Unwatch ( remoteActor ) ;
234233 await Task . Delay ( TimeSpan . FromSeconds ( 3 ) ) ;
235234
236- await System . Root . StopAsync ( remoteActor ) ;
235+ await System . Root . PoisonAsync ( remoteActor ) ;
237236
238- var term = await probe1 . ExpectSystemMessageAsync < Terminated > ( TimeSpan . FromSeconds ( 10 ) ) ;
239- Assert . Equal ( remoteActor , term . Who ) ;
237+ await probe1 . ExpectSystemMessageAsync < Terminated > ( t => Equals ( t . Who , remoteActor ) , TimeSpan . FromSeconds ( 10 ) ) ;
240238
241239 await probe2 . ExpectNoMessageAsync ( TimeSpan . FromSeconds ( 1 ) ) ;
242240 }
@@ -254,8 +252,7 @@ public async Task WhenRemoteTerminated_LocalWatcherReceivesNotification()
254252
255253 System . Root . Send ( remoteActor , new Die ( ) ) ;
256254
257- var term = await probe . ExpectSystemMessageAsync < Terminated > ( TimeSpan . FromSeconds ( 10 ) ) ;
258- Assert . Equal ( remoteActor , term . Who ) ;
255+ await probe . ExpectSystemMessageAsync < Terminated > ( t => Equals ( t . Who , remoteActor ) , TimeSpan . FromSeconds ( 10 ) ) ;
259256
260257 await probe . ExpectNoMessageAsync ( TimeSpan . FromMilliseconds ( 200 ) ) ;
261258 }
0 commit comments