Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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());
        }