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); } }
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); }