Пример #1
0
        public async Task RunFlatFiles_AutoMapped_Async()
        {
            var reader    = new StringReader(data);
            var csvReader = await SeparatedValueTypeMapper.GetAutoMappedReaderAsync <Person>(reader);

            var people = new List <Person>();

            while (await csvReader.ReadAsync().ConfigureAwait(false))
            {
                people.Add(csvReader.Current);
            }
        }
Пример #2
0
        public async Task ShouldDeduceSchemaForTypeAsync()
        {
            var stringWriter = new StringWriter();
            var writer       = SeparatedValueTypeMapper.GetAutoMappedWriter <Person>(stringWriter);
            var expected     = new[]
            {
                new Person()
                {
                    Id = 1, Name = "Bob", CreatedOn = new DateTime(2018, 07, 01), IsActive = true, VisitCount = 1
                },
                new Person()
                {
                    Id = 2, Name = "John", CreatedOn = new DateTime(2018, 07, 02), IsActive = false, VisitCount = null
                },
                new Person()
                {
                    Id = 3, Name = "Susan", CreatedOn = new DateTime(2018, 07, 03), IsActive = false, VisitCount = 10
                }
            };
            await writer.WriteAllAsync(expected);

            string output = stringWriter.ToString();

            var stringReader = new StringReader(output);
            var reader       = await SeparatedValueTypeMapper.GetAutoMappedReaderAsync <Person>(stringReader);

            var results = new List <Person>();

            while (await reader.ReadAsync())
            {
                results.Add(reader.Current);
            }

            Assert.AreEqual(3, results.Count, "The wrong number of records were read.");
            AssertEqual(expected, results, 0);
            AssertEqual(expected, results, 1);
            AssertEqual(expected, results, 2);
        }