11using LoreSoft . Blazor . Controls . Events ;
22
3+ using static Xunit . TestContext ;
4+
35namespace LoreSoft . Blazor . Controls . Tests . Events ;
46
57public class EventBusTests
@@ -78,7 +80,7 @@ public async Task Subscribe_MultipleHandlersForSameEvent_BothReceiveEvents()
7880 // Act
7981 var testEvent = new TestEvent { Message = "test" } ;
8082
81- await eventBus . PublishAsync ( testEvent ) ;
83+ await eventBus . PublishAsync ( testEvent , Current . CancellationToken ) ;
8284
8385 // Assert
8486 Assert . True ( handler1Called ) ;
@@ -101,7 +103,7 @@ public async Task Subscribe_DifferentEventTypes_MaintainsSeparateSubscriptions()
101103 eventBus . Subscribe ( handler2 ) ;
102104
103105 // Act
104- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
106+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
105107
106108 // Assert
107109 Assert . True ( event1Received ) ;
@@ -127,7 +129,7 @@ public async Task PublishAsync_WithSubscriber_InvokesHandler()
127129 var testEvent = new TestEvent { Message = "test message" , Value = 42 } ;
128130
129131 // Act
130- await eventBus . PublishAsync ( testEvent ) ;
132+ await eventBus . PublishAsync ( testEvent , Current . CancellationToken ) ;
131133
132134 // Assert
133135 Assert . NotNull ( receivedEvent ) ;
@@ -176,7 +178,7 @@ public async Task PublishAsync_WithMultipleHandlers_InvokesAll()
176178 eventBus . Subscribe ( handler2 ) ;
177179
178180 // Act
179- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
181+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
180182
181183 // Assert
182184 Assert . Equal ( 1 , handler1Count ) ;
@@ -199,7 +201,7 @@ public async Task PublishAsync_WithAsyncHandler_AwaitsCompletion()
199201 eventBus . Subscribe ( handler ) ;
200202
201203 // Act
202- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
204+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
203205
204206 // Assert
205207 Assert . True ( completed ) ;
@@ -212,7 +214,7 @@ public async Task PublishAsync_WithNoSubscribers_CompletesSuccessfully()
212214 var eventBus = new EventBus ( ) ;
213215
214216 // Act & Assert - should not throw
215- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
217+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
216218 }
217219
218220 [ Fact ]
@@ -224,7 +226,7 @@ public async Task PublishAsync_WithNullEvent_ThrowsArgumentNullException()
224226 TestEvent nullEvent = null ! ;
225227
226228 // Act & Assert
227- await Assert . ThrowsAsync < ArgumentNullException > ( ( ) => eventBus . PublishAsync ( nullEvent ) . AsTask ( ) ) ;
229+ await Assert . ThrowsAsync < ArgumentNullException > ( ( ) => eventBus . PublishAsync ( nullEvent , Current . CancellationToken ) . AsTask ( ) ) ;
228230 }
229231
230232 [ Fact ]
@@ -239,9 +241,9 @@ public async Task PublishAsync_MultipleTimes_InvokesHandlerMultipleTimes()
239241 eventBus . Subscribe ( handler ) ;
240242
241243 // Act
242- await eventBus . PublishAsync ( new TestEvent { Message = "test1" } ) ;
243- await eventBus . PublishAsync ( new TestEvent { Message = "test2" } ) ;
244- await eventBus . PublishAsync ( new TestEvent { Message = "test3" } ) ;
244+ await eventBus . PublishAsync ( new TestEvent { Message = "test1" } , Current . CancellationToken ) ;
245+ await eventBus . PublishAsync ( new TestEvent { Message = "test2" } , Current . CancellationToken ) ;
246+ await eventBus . PublishAsync ( new TestEvent { Message = "test3" } , Current . CancellationToken ) ;
245247
246248 // Assert
247249 Assert . Equal ( 3 , callCount ) ;
@@ -265,7 +267,7 @@ public async Task Unsubscribe_WithFunc_RemovesHandler()
265267 // Act
266268 eventBus . Unsubscribe ( handler ) ;
267269
268- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
270+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
269271
270272 // Assert
271273 Assert . Equal ( 0 , callCount ) ;
@@ -285,7 +287,7 @@ public async Task Unsubscribe_WithCancellationTokenFunc_RemovesHandler()
285287 // Act
286288 eventBus . Unsubscribe ( handler ) ;
287289
288- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
290+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
289291
290292 // Assert
291293 Assert . Equal ( 0 , callCount ) ;
@@ -333,7 +335,7 @@ public async Task Unsubscribe_OneHandlerOfMultiple_OnlyRemovedHandlerNotInvoked(
333335 // Act
334336 eventBus . Unsubscribe ( handler1 ) ;
335337
336- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
338+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
337339
338340 // Assert
339341 Assert . Equal ( 0 , handler1Count ) ;
@@ -354,8 +356,8 @@ public async Task Unsubscribe_BySubscriberObject_RemovesAllHandlersForThatSubscr
354356 // Act
355357 eventBus . Unsubscribe ( subscriber ) ;
356358
357- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
358- await eventBus . PublishAsync ( new OtherEvent { Data = "test" } ) ;
359+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
360+ await eventBus . PublishAsync ( new OtherEvent { Data = "test" } , Current . CancellationToken ) ;
359361
360362 // Assert
361363 Assert . Equal ( 0 , subscriber . TestEventCount ) ;
@@ -406,7 +408,7 @@ public async Task PublishAsync_WithCollectedSubscriber_DoesNotInvokeHandler()
406408 GC . Collect ( ) ;
407409
408410 // Act
409- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
411+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
410412
411413 // Assert
412414 Assert . Equal ( 0 , callTracker . CallCount ) ;
@@ -434,7 +436,7 @@ public async Task PublishAsync_WithPartiallyCollectedSubscribers_OnlyInvokesLive
434436 GC . Collect ( ) ;
435437
436438 // Act
437- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
439+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
438440
439441 // Assert
440442 Assert . Equal ( 1 , strongCallTracker . CallCount ) ; // Strong reference handler called
@@ -461,7 +463,7 @@ public async Task PublishAsync_WithMultipleCollectedSubscribers_DoesNotInvokeAny
461463 GC . Collect ( ) ;
462464
463465 // Act
464- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
466+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
465467
466468 // Assert
467469 Assert . Equal ( 0 , callTracker1 . CallCount ) ;
@@ -491,7 +493,7 @@ public async Task Subscribe_AfterGarbageCollection_NewHandlerStillWorks()
491493 eventBus . Subscribe < TestEvent > ( newSubscriber . HandleEvent ) ;
492494
493495 // Act
494- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
496+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
495497
496498 // Assert
497499 Assert . Equal ( 0 , weakCallTracker . CallCount ) ; // Old handler not invoked
@@ -517,8 +519,8 @@ public async Task PublishAsync_WithCollectedSubscribersOfDifferentEventTypes_Cle
517519 GC . Collect ( ) ;
518520
519521 // Act
520- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
521- await eventBus . PublishAsync ( new OtherEvent { Data = "other" } ) ;
522+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
523+ await eventBus . PublishAsync ( new OtherEvent { Data = "other" } , Current . CancellationToken ) ;
522524
523525 // Assert
524526 Assert . Equal ( 0 , testEventTracker . CallCount ) ;
@@ -550,7 +552,7 @@ public async Task PublishAsync_WithMixedStrongAndWeakReferences_BehavesCorrectly
550552 GC . Collect ( ) ;
551553
552554 // Act
553- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
555+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
554556
555557 // Assert
556558 Assert . Equal ( 1 , strongTracker1 . CallCount ) ; // Strong reference invoked
@@ -577,7 +579,7 @@ public async Task Unsubscribe_BeforeGarbageCollection_PreventsLeaks()
577579 GC . Collect ( ) ;
578580
579581 // Assert - Publishing should complete without error
580- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
582+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
581583
582584 Assert . Equal ( 0 , subscriber . _tracker . CallCount ) ;
583585 }
@@ -625,8 +627,8 @@ public async Task PublishAsync_WithMultipleEventTypes_OnlyInvokesMatchingHandler
625627 eventBus . Subscribe ( otherHandler ) ;
626628
627629 // Act
628- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
629- await eventBus . PublishAsync ( new OtherEvent { Data = "other" } ) ;
630+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
631+ await eventBus . PublishAsync ( new OtherEvent { Data = "other" } , Current . CancellationToken ) ;
630632
631633 // Assert
632634 Assert . Equal ( 1 , testEventCount ) ;
@@ -651,8 +653,8 @@ public async Task Unsubscribe_FromOneEventType_DoesNotAffectOtherEventTypes()
651653 // Act
652654 eventBus . Unsubscribe ( testHandler ) ;
653655
654- await eventBus . PublishAsync ( new TestEvent { Message = "test" } ) ;
655- await eventBus . PublishAsync ( new OtherEvent { Data = "other" } ) ;
656+ await eventBus . PublishAsync ( new TestEvent { Message = "test" } , Current . CancellationToken ) ;
657+ await eventBus . PublishAsync ( new OtherEvent { Data = "other" } , Current . CancellationToken ) ;
656658
657659 // Assert
658660 Assert . Equal ( 0 , testEventCount ) ;
0 commit comments