示例#1
0
        public async Task Example_test_files_can_be_parsed_and_stringified(string file, string expectedFile)
        {
            IExpression[] exps;
            {
                using var stream = File.OpenRead(file);
                using var rd     = new BinaryReader(stream);
                exps             = new PoseReader().ReadAll(rd);
            }
            string written = null;
            {
                await using var stream = new MemoryStream();
                await using var w      = new StreamWriter(stream);
                foreach (var exp in exps)
                {
                    await exp.Write(w);
                }
                await w.FlushAsync();

                stream.Seek(0, SeekOrigin.Begin);

                using var rd = new StreamReader(stream);
                written      = await rd.ReadToEndAsync();
            }
            var expected = await File.ReadAllTextAsync(expectedFile);

            Assert.Equal(expected.Trim(), written.Trim());
        }
示例#2
0
        public async Task Can_parse_and_stringify(string sample, string expected)
        {
            IExpression[] exps;
            {
                await using var stream = new MemoryStream();
                using var rd           = new BinaryReader(stream);
                await using var w      = new StreamWriter(stream);
                await w.WriteAsync(sample);

                await w.FlushAsync();

                stream.Seek(0, SeekOrigin.Begin);
                exps = new PoseReader().ReadAll(rd);
            }
            string written = null;

            {
                await using var stream = new MemoryStream();
                await using var w      = new StreamWriter(stream);
                foreach (var exp in exps)
                {
                    await exp.Write(w);
                }
                await w.FlushAsync();

                stream.Seek(0, SeekOrigin.Begin);

                using var rd = new StreamReader(stream);
                written      = await rd.ReadToEndAsync();
            }
            Assert.Equal(expected, written);
        }