Exemple #1
0
        public void CsvObject_WithCsvTextWithSingleEscapeCharInLastPosition_ShouldThrow()
        {
            const string CsvText = "Name,Year,Description\nSmith\\, John,2015,No desription here\\";

            var csv    = new CsvTableReader();
            var result = csv.ReadToTable(CsvText);

            Assert.Fail();
        }
Exemple #2
0
        public void CsvObject_ShouldDeserializeCsvTextWithEscapedRange()
        {
            const string CsvText = "Name,Year,Description\n\"Smith, \\\"John\\\"\",2015,\"No\n desription\" here";

            var csv    = new CsvTableReader();
            var result = csv.ReadToTable(CsvText);

            Assert.AreEqual(2, result.Length, "Invalid number of rows.");
            Assert.AreEqual(3, result[0].Length, "Invalid number of columns in first row.");
            Assert.AreEqual(3, result[1].Length, "Invalid number of columns in second row.");

            Assert.AreEqual("Name", result[0][0], "[0][0]");
            Assert.AreEqual("Year", result[0][1], "[0][1]");
            Assert.AreEqual("Description", result[0][2], "[0][2]");

            Assert.AreEqual("Smith, \"John\"", result[1][0], "[1][0]");
            Assert.AreEqual("2015", result[1][1], "[1][1]");
            Assert.AreEqual("No\n desription here", result[1][2], "[1][2]");
        }
Exemple #3
0
        public void CsvObject_ShouldDeserializeCsvTextWithSingleEscapeCharInValidPosition()
        {
            const string CsvText = "Name,Year,Description\nSmith\\, John,2015,No desription here";

            var csv    = new CsvTableReader();
            var result = csv.ReadToTable(CsvText);

            Assert.AreEqual(2, result.Length, "Invalid number of rows.");
            Assert.AreEqual(3, result[0].Length, "Invalid number of columns in first row.");
            Assert.AreEqual(3, result[1].Length, "Invalid number of columns in second row.");

            Assert.AreEqual("Name", result[0][0], "[0][0]");
            Assert.AreEqual("Year", result[0][1], "[0][1]");
            Assert.AreEqual("Description", result[0][2], "[0][2]");

            Assert.AreEqual("Smith, John", result[1][0], "[1][0]");
            Assert.AreEqual("2015", result[1][1], "[1][1]");
            Assert.AreEqual("No desription here", result[1][2], "[1][2]");
        }
        public void CsvMapper_MapOneRowCsvToObject_Generic_ShouldWork()
        {
            const string CsvText = "Name,Year,Description\nJohn Smith,2015,No desription here";

            var csv    = new CsvTableReader();
            var csvRow = csv.ReadToTable(CsvText).Skip(1).ToArray()[0];

            var mapping = new ColumnIndexToPropertyNameMapping
            {
                Mapping = new Dictionary <string, int>
                {
                    { "Name", 0 },
                    { "Year", 1 },
                    { "Description", 2 }
                }
            };

            var result = csvRow.MapToObjectProperties <NameYearDescriptionSampleObject>(mapping);

            Assert.AreEqual("John Smith", result.Name, "Name should match.");
            Assert.AreEqual(2015, result.Year, "Year should match.");
            Assert.AreEqual("No desription here", result.Description, "Description should match.");
        }