public void ReadCsv_ManualIndex() { var mapper = new ManualIndexPropertyMapper <Model>() .Map(m => m.Id, 2) .Map(m => m.Name, 3); using (var stmReader = new StreamReader("files\\Valid.csv")) { var csvReader = new TableFactory().CreateCsvReader <Model>(stmReader, true, propertyMapper: mapper); var models = csvReader.Read().ToList(); Assert.AreEqual(5, models.Count); var model = models[3]; Assert.AreEqual(4000, model.Id); Assert.AreEqual("remarks4\r\nremarks4", model.Name); // no set Assert.AreEqual(0, model.Price); Assert.AreEqual(null, model.Remarks); } }
public void CreatePropertyMapsTest() { var mapper = new ManualIndexPropertyMapper <Model>() .Map(m => m.Id, 11) .Map(m => m.Name, 10) .Map(m => m.Price, 1) .Map(m => m.Remarks, 0); var maps = mapper.CreatePropertyMaps(typeof(Model), null); Assert.AreEqual("Id", maps[0].Property.Name); Assert.AreEqual(11, maps[0].ColumnIndex); Assert.AreEqual("Name", maps[1].Property.Name); Assert.AreEqual(10, maps[1].ColumnIndex); Assert.AreEqual("Price", maps[2].Property.Name); Assert.AreEqual(1, maps[2].ColumnIndex); Assert.AreEqual("Remarks", maps[3].Property.Name); Assert.AreEqual(0, maps[3].ColumnIndex); }
public void WriteCsv_ManualIndex() { var models = new[] { new Model { Id = 1, Name = "NAME_1", Price = 100, Remarks = "REMARKS_1" }, new Model { Id = 2, Name = "NAME_2", Price = 200, Remarks = "REMARKS_2" }, }; var mapper = new ManualIndexPropertyMapper <Model>() .Map(m => m.Id, 2) .Map(m => m.Name, 3); var strWriter = new StringWriter(); var csvReader = new TableFactory().CreateCsvWriter <Model>(strWriter, propertyMapper: mapper); csvReader.Write(models); Assert.AreEqual(",,1,NAME_1\r\n,,2,NAME_2\r\n", strWriter.ToString()); }