Exemple #1
0
        public void CanParseFailed1()
        {
            string text = "Id,Name" + Environment.NewLine
                          + "0,Art";

            CsvDoc doc = Csv.LoadText(text, true);

            Assert.IsTrue(doc.Columns.Contains("Id"));
            Assert.IsTrue(doc.Columns.Contains("Name"));
            Assert.AreEqual(doc.Get <string>(0, "Id"), "0");
            Assert.AreEqual(doc.Get <string>(0, "Name"), "Art");
        }
        /// <summary>
        /// Run the application.
        /// </summary>
        public override BoolMessageItem Execute()
        {
            //<doc:example>
            // See CommonLibrary.UnitTests Source code for actual csv files.
            string text = GetSampleCsv();
            CsvDoc csv  = Csv.LoadText(text, true);

            // 1. Get cell at row 0, column 1
            string cell0 = csv.Get <string>(0, 1);

            // 2. Get cell at row 0, column called "FilePath"
            string cell2 = csv.Get <string>(0, "FilePath");

            // 3. Number of columns
            var colCount = csv.Columns.Count;

            // 4. Number of rows
            var rowCount = csv.Data.Count;

            // 5. Column name at index 2
            var col2 = csv.Columns[1];

            // 6. Get int id at row 2
            var id = csv.Get <int>(2, 0);

            // 7. Iterate over all the cells in column named "Date" starting at row 0.
            csv.ForEach <DateTime>("Date", 0, (row, col, val) =>
            {
                Console.WriteLine(string.Format("Row[{0}]Col[{1}] : {2}", row, col, val.ToString()));
            });

            // 8. Get the csv data as a datatable.
            DataTable table = csv.ToDataTable("My_Sample_Data");

            // 9. Iterate over rows / columns
            for (int row = 0; row < csv.Data.Count; row++)
            {
                for (int col = 0; col < csv.Columns.Count; col++)
                {
                    string cellVal = csv.Data[row][col] as string;
                }
            }
            //</doc:example>
            return(BoolMessageItem.True);
        }
Exemple #3
0
        public void CanParseCsvAndGetTypedVal()
        {
            string text = "'Id', 'Name',   'Desc'" + Environment.NewLine
                          + "'0',  'Art',    'Art class'" + Environment.NewLine
                          + "'1',  'Sports', 'all sports'";

            CsvDoc doc = Csv.LoadText(text, true);

            Assert.IsTrue(doc.Columns.Contains("Id"));
            Assert.IsTrue(doc.Columns.Contains("Name"));
            Assert.IsTrue(doc.Columns.Contains("Desc"));
            Assert.AreEqual(doc.Get <string>(0, "Id"), "0");
            Assert.AreEqual(doc.Get <string>(0, "Name"), "Art");
            Assert.AreEqual(doc.Get <string>(0, "Desc"), "Art class");
            Assert.AreEqual(doc.Get <string>(1, "Id"), "1");
            Assert.AreEqual(doc.Get <string>(1, "Name"), "Sports");
            Assert.AreEqual(doc.Get <string>(1, "Desc"), "all sports");
        }
        public void CanMapFromCsv()
        {
            var    csv        = LoadDataCsv();
            var    io         = new ImportExportService <Conference>();
            CsvDoc data       = new CsvDoc(csv, false);
            var    boolresult = io.LoadText(csv, "csv");
            var    result     = boolresult.Item;

            Assert.AreEqual(result[0].Title, data.Get <string>(0, "Title"));
            Assert.AreEqual(result[0].StartDate.Date, DateTime.Today.Date);
            Assert.AreEqual(result[0].StartTime, new TimeSpan(21, 30, 0));
            Assert.AreEqual(result[0].IsFree, true);
            Assert.AreEqual(result[0].MaxSeats, data.Get <int>(0, "MaxSeats"));
            Assert.AreEqual(result[0].Cost, 250);
            Assert.AreEqual(result[0].Url, data.Get <string>(0, "Url"));

            Assert.AreEqual(result[1].Title, data.Get <string>(1, "Title"));
            Assert.AreEqual(result[1].StartDate.Date, DateTime.Today.AddDays(4).Date);
            Assert.AreEqual(result[1].StartTime, new TimeSpan(11, 30, 0));
            Assert.AreEqual(result[1].IsFree, false);
            Assert.AreEqual(result[1].MaxSeats, data.Get <int>(1, "MaxSeats"));
            Assert.AreEqual(result[1].Cost, 251);
            Assert.AreEqual(result[1].Url, data.Get <string>(1, "Url"));
        }