private async Task MulticodecRoundTripManyAsync(ICodec codec, int count = 1000) { var tests = Enumerable.Range(0, count).Select(i => new TestClass { HelloString = "Hello World " + i, HelloInt = int.MaxValue, HelloBool = true }).ToArray(); var results = new List <TestClass>(); 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 <TestClass>(CancellationToken.None)); } } Assert.Equal(results.ToArray(), tests); }
private void MulticodecRoundTrip(ICodec codec) { var test = new TestClass { HelloString = "Hello World", HelloInt = int.MaxValue, HelloBool = true }; TestClass result; using (var stream = new MemoryStream()) { codec.Encoder(stream).Encode(test); stream.Seek(0, SeekOrigin.Begin); result = codec.Decoder(stream).Decode <TestClass>(); } Assert.Equal(result, test); }
private async Task MulticodecRoundTripAsync(ICodec codec) { var test = new TestClass { HelloString = "Hello World", HelloInt = int.MaxValue, HelloBool = true }; TestClass result; using (var stream = new MemoryStream()) { await codec.Encoder(stream).EncodeAsync(test, CancellationToken.None); stream.Seek(0, SeekOrigin.Begin); result = await codec.Decoder(stream).DecodeAsync <TestClass>(CancellationToken.None); } Assert.Equal(result, test); }