Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }