private async Task MsgIoRoundTripManyAsync(MsgIoCodec codec) { var count = 1000; var r = new Random(Environment.TickCount); var tests = Enumerable.Range(0, count).Select(i => { var bytes = new byte[1024]; r.NextBytes(bytes); return(bytes); }).ToArray(); var results = new List <byte[]>(); using (var stream = new MemoryStream()) { var enc = codec.Encoder(stream); foreach (var test in tests) { await enc.EncodeAsync(test, CancellationToken.None); } stream.Seek(0, SeekOrigin.Begin); var dec = codec.Decoder(stream); for (var i = 0; i < tests.Length; i++) { results.Add(await dec.DecodeAsync <byte[]>(CancellationToken.None)); } } Assert.Equal(results.ToArray(), tests); }
public Task MsgIoCodecRoundTripMany_Async() => MsgIoRoundTripManyAsync(MsgIoCodec.CreateCodec());
public void MsgIoCodecRoundTripMany() => MsgIoRoundTripMany(MsgIoCodec.CreateCodec());