@@ -13,11 +13,10 @@ namespace AsyncFiberWorksTests
1313 public class FiberAndTaskPairListTests
1414 {
1515 [ Test ]
16- public void SubscribeSimpleActions ( )
16+ public async Task SubscribeSimpleActions ( )
1717 {
18- // Fiber of main thread for Assertion.
19- var mainLoop = new ThreadPoolAdapter ( ) ;
20- var fiber = mainLoop . CreateFiber ( ) ;
18+ // Task for Assertion.
19+ var tcs = new TaskCompletionSource < bool > ( ) ;
2120
2221 var taskList = new FiberAndTaskPairList ( ) ;
2322 long counter = 0 ;
@@ -37,24 +36,31 @@ public void SubscribeSimpleActions()
3736 var disposable1 = taskList . Add ( action1 ) ;
3837 var disposable2 = taskList . Add ( action2 ) ;
3938
39+ var fiber = new PoolFiber ( ) ;
4040 _ = Task . Run ( async ( ) =>
4141 {
4242 await taskList . InvokeSequentialAsync ( fiber ) ;
4343 await fiber . EnqueueAsync ( ( ) =>
4444 {
45- Assert . AreEqual ( 301 , counter ) ;
45+ try
46+ {
47+ Assert . AreEqual ( 301 , counter ) ;
48+ }
49+ catch ( Exception ex )
50+ {
51+ tcs . SetException ( ex ) ;
52+ }
4653 } ) ;
47- mainLoop . Stop ( ) ;
54+ tcs . SetResult ( true ) ;
4855 } ) ;
49- mainLoop . Run ( ) ;
56+ await tcs . Task ;
5057 }
5158
5259 [ Test ]
53- public void SubscribeFuncTask ( )
60+ public async Task SubscribeFuncTask ( )
5461 {
55- // Fiber of main thread for Assertion.
56- var mainLoop = new ThreadPoolAdapter ( ) ;
57- var fiber = mainLoop . CreateFiber ( ) ;
62+ // Task for Assertion.
63+ var tcs = new TaskCompletionSource < bool > ( ) ;
5864
5965 var taskList = new FiberAndTaskPairList ( ) ;
6066 long counter = 0 ;
@@ -76,16 +82,24 @@ public void SubscribeFuncTask()
7682 var disposable1 = taskList . Add ( action1 ) ;
7783 var disposable2 = taskList . Add ( action2 ) ;
7884
85+ var fiber = new PoolFiber ( ) ;
7986 _ = Task . Run ( async ( ) =>
8087 {
8188 await taskList . InvokeSequentialAsync ( fiber ) ;
8289 await fiber . EnqueueAsync ( ( ) =>
8390 {
84- Assert . AreEqual ( 301 , counter ) ;
91+ try
92+ {
93+ Assert . AreEqual ( 301 , counter ) ;
94+ }
95+ catch ( Exception ex )
96+ {
97+ tcs . SetException ( ex ) ;
98+ }
8599 } ) ;
86- mainLoop . Stop ( ) ;
100+ tcs . SetResult ( true ) ;
87101 } ) ;
88- mainLoop . Run ( ) ;
102+ await tcs . Task ;
89103 }
90104
91105 [ Test ]
@@ -120,11 +134,10 @@ public async Task AsyncInvokingWithArgument()
120134 }
121135
122136 [ Test ]
123- public void ToggleAtUnsubscribe ( )
137+ public async Task ToggleAtUnsubscribe ( )
124138 {
125- // Fiber of main thread for Assertion.
126- var mainLoop = new ThreadPoolAdapter ( ) ;
127- var fiber = mainLoop . CreateFiber ( ) ;
139+ // Task for Assertion.
140+ var tcs = new TaskCompletionSource < bool > ( ) ;
128141
129142 var taskList = new FiberAndTaskPairList ( ) ;
130143 long counter = 0 ;
@@ -141,16 +154,24 @@ public void ToggleAtUnsubscribe()
141154 var disposable2 = taskList . Add ( action ) ;
142155 unsubscriber . AppendDisposable ( disposable2 ) ;
143156
157+ var fiber = new PoolFiber ( ) ;
144158 _ = Task . Run ( async ( ) =>
145159 {
146160 await taskList . InvokeSequentialAsync ( fiber ) ;
147161 await fiber . EnqueueAsync ( ( ) =>
148162 {
149- Assert . AreEqual ( 1 , counter ) ;
163+ try
164+ {
165+ Assert . AreEqual ( 1 , counter ) ;
166+ }
167+ catch ( Exception ex )
168+ {
169+ tcs . SetException ( ex ) ;
170+ }
150171 } ) ;
151- mainLoop . Stop ( ) ;
172+ tcs . SetResult ( true ) ;
152173 } ) ;
153- mainLoop . Run ( ) ;
174+ await tcs . Task ;
154175 }
155176
156177 [ Test ]
0 commit comments