Skip to content

Commit bff537f

Browse files
Name fixes. Also, factored out IAsyncEnumerable<T>().ToListAsync() into extensions so that both test styles can use it without taking an extra library dependency.
1 parent 9361732 commit bff537f

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

RSocket.Core.Tests/Extensions.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff 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
}

RSocket.Core.Tests/ServerAlternateProducerTests.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace 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."));

0 commit comments

Comments
 (0)