File tree Expand file tree Collapse file tree 2 files changed +13
-5
lines changed Expand file tree Collapse file tree 2 files changed +13
-5
lines changed Original file line number Diff line number Diff line change @@ -27,5 +27,15 @@ static public IAsyncEnumerable<T> ToAsyncEnumerable<T>(this async_enumerable_dot
2727 ( ) => enumerator . Current ,
2828 ( ) => enumerator . DisposeAsync ( ) ) ;
2929 } ) ;
30+
31+
32+ static public async Task < List < T > > ToListAsync < T > ( this IAsyncEnumerable < T > source )
33+ {
34+ var list = new List < T > ( ) ;
35+ var enumerator = source . GetAsyncEnumerator ( ) ;
36+ try { while ( await enumerator . MoveNextAsync ( ) ) { list . Add ( enumerator . Current ) ; } }
37+ finally { await enumerator . DisposeAsync ( ) ; }
38+ return list ;
39+ }
3040 }
3141}
Original file line number Diff line number Diff line change 1010namespace RSocket . Tests
1111{
1212 [ TestClass ]
13- public class ServerAlternateTests
13+ public class ServerAlternateProducerTests
1414 {
1515 LoopbackTransport Loopback ;
1616 RSocketClient Client ;
@@ -29,10 +29,8 @@ public async Task ServerRequestStreamTest()
2929
3030 var ( data , metadata ) = ( "TEST DATA" , "METADATA?_____" ) ;
3131
32- var enumerator = StringClient . RequestStream ( data , metadata ) . GetAsyncEnumerator ( ) ;
33- var list = new List < string > ( ) ;
34- try { while ( await enumerator . MoveNextAsync ( ) ) { list . Add ( enumerator . Current ) ; } } //This is basically ToList()
35- finally { enumerator . DisposeAsync ( ) . AsTask ( ) . Wait ( ) ; }
32+ var list = await StringClient . RequestStream ( data , metadata )
33+ . ToListAsync ( ) ;
3634
3735 Assert . AreEqual ( 3 , list . Count , "Stream contents missing." ) ;
3836 list . ForEach ( item => Assert . AreEqual ( item , data , "Stream contents mismatch." ) ) ;
You can’t perform that action at this time.
0 commit comments