public void ShouldGetDefaultSchemaForCSVFile_GetValue() { FlatFileDataReader dataReader = GetFlatFileReaderWithDefaultSchema(); Assert.IsTrue(dataReader.Read(), "The first record could not be read."); Assert.AreEqual(1, dataReader.GetValue <int>("Id"), "The wrong 'Id' was retrieved for 'Bob'."); Assert.AreEqual("Bob", dataReader.GetValue <string>("Name"), "The wrong 'Name' was retrieved for 'Bob'."); Assert.AreEqual(new DateTime(2018, 07, 03), dataReader.GetValue <DateTime>("CreatedOn"), "The wrong 'CreatedOn' was retrieved for 'Bob'."); Assert.IsTrue(dataReader.GetValue <bool>("IsActive"), "The wrong 'IsActive' was retrieved for 'Bob'"); Assert.AreEqual(10, dataReader.GetValue <int?>("VisitCount"), "The wrong 'VisitCount' was retrieved for 'Bob'."); Assert.AreEqual(new Guid("DC3A6AE3-00C8-4884-AC0F-F61EB769DFEB"), dataReader.GetValue <Guid?>("UniqueId"), "The wrong 'UniqueId' was retrieved for 'Bob'."); Assert.AreEqual(DayOfWeek.Wednesday, dataReader.GetValue <DayOfWeek>("FavoriteDay"), "The wrong 'FavoriteDay' was retrieved for 'Bob'."); Assert.IsTrue(dataReader.Read(), "The second record could not be read."); Assert.AreEqual(2, dataReader.GetValue <int>("Id"), "The wrong 'Id' was retrieved for 'Susan'."); Assert.AreEqual("Susan", dataReader.GetValue <string>("Name"), "The wrong 'Name' was retrieved for 'Susan'."); Assert.AreEqual(new DateTime(2018, 07, 04), dataReader.GetValue <DateTime>("CreatedOn"), "The wrong 'CreatedOn' was retrieved for 'Susan'."); Assert.IsFalse(dataReader.GetValue <bool>("IsActive"), "The wrong 'IsActive' was retrieved for 'Susan'"); Assert.AreEqual(null, dataReader.GetValue <int?>("VisitCount"), "The wrong 'VisitCount' was retrieved for 'Susan'."); Assert.AreEqual(new Guid("{24C250EB-87C9-45DE-B01F-71A7754C6AAD}"), dataReader.GetValue <Guid?>("UniqueId"), "The wrong 'UniqueId' was retrieved for 'Susan'."); Assert.AreEqual(DayOfWeek.Friday, dataReader.GetValue <DayOfWeek>("FavoriteDay"), "The wrong 'FavoriteDay' was retrieved for 'Susan'."); Assert.IsFalse(dataReader.Read(), "Too many records were read."); }
public void RunFlatFiles_FlatFileDataReader_GetValue() { var reader = new StringReader(data); var schema = GetSchema(); var csvReader = new SeparatedValueReader(reader, schema, new SeparatedValueOptions() { IsFirstRecordSchema = true }); var dataReader = new FlatFileDataReader(csvReader); var people = new List <Person>(); while (dataReader.Read()) { var person = new Person() { FirstName = dataReader.GetValue <string>(0), LastName = dataReader.GetValue <string>(1), Age = dataReader.GetValue <int>(2), Street1 = dataReader.GetValue <string>(3), Street2 = dataReader.GetValue <string>(4), City = dataReader.GetValue <string>(5), State = dataReader.GetValue <string>(6), Zip = dataReader.GetValue <string>(7), FavoriteColor = dataReader.GetValue <string>(8), FavoriteFood = dataReader.GetValue <string>(9), FavoriteSport = dataReader.GetValue <string>(10), CreatedOn = dataReader.GetValue <DateTime?>(11), IsActive = dataReader.GetValue <bool>(12) }; people.Add(person); } }