public void CsvReaderV2_CreateDataTable_DataWithDupeColumnName_ReturnsValidData()
        {
            //Prep
            var text = GetCsvStringDuplicateColumunName();

            //Action
            var dt = new DataTable();

            bool pass = false;

            try
            {
                dt = new CsvReaderV2().CreateDataTable(text);

                if (dt.Columns.Contains("Address_3"))
                {
                    pass = true;
                }
            }
            catch
            {
                //do nothing
            }

            //Assert
            Assert.IsTrue(pass);
        }
示例#2
0
        public void CsvReaderV2MbctOnly_GetSoapNotes_Input_Returns()
        {
            //Prep
            var dt = new DataTable();

            dt.Columns.Add("ProgressNoteId", typeof(string));
            dt.Columns.Add("EncryptedNote", typeof(string));
            var row = dt.NewRow();

            row[0] = "1";
            row[1] = "{\"SerializedContentId\": \"123\", \"Subjective\": \"peanut butter\", \"Objective\": \"jelly\", \"Assessment\": \"bread\", \"Plan\": \"eat\"}";
            dt.Rows.Add(row);

            //Action
            var results = new CsvReaderV2().GetSoapNotes(dt);
            var result  = results.Rows[0];

            //Assert
            var SerializedContentId = result["SerializedContentId"].ToString() == "123";
            var Subjective          = result["Subjective"].ToString() == "peanut butter";
            var Objective           = result["Objective"].ToString() == "jelly";
            var Assessment          = result["Assessment"].ToString() == "bread";
            var Plan = result["Plan"].ToString() == "eat";

            var condition = SerializedContentId && Subjective && Objective && Assessment && Plan;

            Assert.IsTrue(condition);
        }
示例#3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="dt"></param>
 /// <returns></returns>
 public static string CreateString(DataTable dt)
 {
     using (CsvReaderV2 csv = new CsvReaderV2())
     {
         return(csv.CreateString(dt));
     }
 }
示例#4
0
        /// <summary>
        /// Save
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            var fbd = new FolderBrowserDialog();

            if (fbd.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            var savepath = Path.Combine(fbd.SelectedPath, _ofd.SafeFileName);
            var dt       = LoadFile(_ofd.FileName);
            var text     = String.Empty;



            var test = checkBoxTestOldSanitizer.Checked;

            string applyWrapper = comboBoxWrapWhen.Text;


            var config = new CsvReaderV2Config()
            {
                QualifierWhen = new CsvReaderV2Config().ConvertQualifier(applyWrapper)
            };

            using (var csv = new CsvReaderV2(config))
            {
                text = csv.CreateString(dt);
            }

            File.WriteAllText(savepath, text);

            MessageBox.Show("File saved!");
        }
        public void CsvReaderV2_CreateDataList_Data_Returns()
        {
            //Prep
            var text = GetCsvStringAdvanced_LastRecordMultiline();

            //Action
            var condition = new CsvReaderV2().CreateDataTable(text);

            //Assert
            Assert.IsTrue(true);
        }
        public void CsvReaderV2_IsCorrupt_CsvString_ReturnsTrue()
        {
            //Prep
            var csvText = GetCsvString_Wrapped_QuoteMissing();

            //Action
            var condition = new CsvReaderV2().IsCurrupt(csvText);

            //Assert
            Assert.IsTrue(condition);
        }
        public void CsvReaderV2_IsCorrupt_CsvString_ReturnsFalse()
        {
            //Prep
            var csvText = GetCsvStringAdvanced();

            //Action
            var condition = new CsvReaderV2().IsCurrupt(csvText);

            //Assert
            Assert.IsFalse(condition);
        }
        public void CsvReaderV2_IsDataRowEmpty_DataRowNull_ReturnsTrue()
        {
            //Prep
            DataRow dr = null;

            //Action
            var condition = new CsvReaderV2().IsDataRowEmpty(dr);

            //Assert
            Assert.IsTrue(condition);
        }
示例#9
0
        private DataTable LoadFile(string path)
        {
            var text = File.ReadAllText(path);
            var dt   = new DataTable();

            using (var csv = new CsvReaderV2())
            {
                dt = csv.CreateDataTable(text);
            }

            return(dt);
        }
        public void CsvReaderV2_ToDatatableRemoveWrapAndSanitize_CsvTextWrappedEscaped_ReturnsUnWrappedUnEscaped()
        {
            //Prep
            var expected = "Dan \"The Man\" Jones";
            var text     = "\"Dan \"\"The Man\"\" Jones\"";

            //Action
            var actual = new CsvReaderV2().ToDatatableRemoveWrapAndSanitize(text);

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void CsvReaderV2_SanitizeTextForCsv_CsvTextUnEscapedChars_ReturnsEscaped()
        {
            //Prep
            var text     = "Dan \"The Man\" Jones";
            var expected = "Dan \"\"The Man\"\" Jones";

            //Action
            var actual = new CsvReaderV2().SanitizeTextForCsv(text);

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void CsvReaderV2_ApplyWrapper_UnwrappedString_ReturnsWrapped()
        {
            //Prep
            var expected = "\"Dan \"The Man\" Jones\"";
            var text     = "Dan \"The Man\" Jones";

            //Action
            var actual = new CsvReaderV2().ApplyWrapper(text);

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void CsvReaderV2_RemoveWrapper_NullString_ReturnsUnchanged()
        {
            //Prep
            string text     = null;
            string expected = null;

            //Action
            var actual = new CsvReaderV2().RemoveWrapper(text);

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void CsvReaderV2_RemoveWrapper_BackWrappedString_ReturnsUnchanged()
        {
            //Prep
            var text     = "Dan \"The Man\" Jones\"";
            var expected = "Dan \"The Man\" Jones\"";

            //Action
            var actual = new CsvReaderV2().RemoveWrapper(text);

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void CsvReaderV2_GetOccuranceCount_CsvString_ReturnsCount()
        {
            //Prep
            var csvText  = "Dan \"The Man\" Jones";
            var expected = 2;

            //Action
            var count = new CsvReaderV2().GetOccuranceCount(csvText, "\"");

            //Assert
            Assert.AreEqual(expected, count);
        }
示例#16
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="strCSV"></param>
        /// <param name="headerRow"></param>
        /// <param name="scanRows"></param>
        /// <param name="displayRows"></param>
        /// <returns></returns>
        public static DataTable CreateDataTable(string strCSV, bool headerRow = true, int scanRows = 0, int displayRows = 0)
        {
            var config = new CsvReaderV2Config()
            {
                IncludeHeaders = true, DisplayRows = displayRows
            };

            using (CsvReaderV2 csv = new CsvReaderV2(config))
            {
                return(csv.CreateDataTable(strCSV));
            }
        }
        public void CsvReaderV2_ToCsvSanitizeAndWrap_CsvTextUnWrappedUnEscaped_ReturnsWrappedEscaped()
        {
            //Prep
            var text     = "Dan \"The Man\" Jones";
            var expected = "\"Dan \"\"The Man\"\" Jones\"";

            //Action
            var actual = new CsvReaderV2().ToCsvSanitizeAndWrap(text);

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void CsvReaderV2_CreateDataTable_ConfigDisplkayRows0NoHeaders_CsvString_ReturnsDataTableWith1Row()
        {
            //Prep
            var csvText = GetCsvStringAdvanced();
            var config  = new CsvReaderV2Config()
            {
                IncludeHeaders = false, DisplayRows = 0
            };
            var csv = new CsvReaderV2(config);

            //Action
            var dt = csv.CreateDataTable(csvText);

            //Assert
            Assert.IsTrue(dt.Rows.Count == 1);
        }
        public void CsvReaderV2_IsDataRowEmpty_DataRowFalsePositive_ReturnsTrue()
        {
            //Prep
            var dt = new DataTable();

            dt.Columns.Add("Test", typeof(string));
            var dr = dt.NewRow();

            dr[0] = "\" \"";

            //Action
            var condition = new CsvReaderV2().IsDataRowEmpty(dr);

            //Assert
            Assert.IsTrue(condition);
        }
        public void CsvReaderV2_CreateString_ConfigHeadersFalse_DataTable_ReturnsCsvString()
        {
            //Prep
            var csvText = GetCsvStringAdvanced();
            var config  = new CsvReaderV2Config()
            {
                IncludeHeaders = false
            };
            var dt = new CsvReaderV2(config).CreateDataTable(csvText);

            //Action
            var text     = new CsvReaderV2(config).CreateString(dt);
            var expected = GetExpected_Advanced_ConfigHeadersFalse();

            //Assert
            Assert.AreEqual(expected, text);
        }
        public void CsvReaderV2_CreateString_DataTable_ReturnsCsvString()
        {
            //Prep
            var csvText = GetCsvStringAdvanced();
            var config  = new CsvReaderV2Config()
            {
                IgnoreFalsePositiveEmptyRows = true
            };
            var dt = new CsvReaderV2(config).CreateDataTable(csvText);

            //Action
            var text     = new CsvReaderV2(config).CreateString(dt);
            var expected = GetCsvStringAdvanced_Wrapped();

            //Assert
            Assert.AreEqual(expected, text);
        }
示例#22
0
        public void CsvReaderV2MbctOnly_CreateStringLegacy_Input_Returns()
        {
            //Prep
            var csvText = File.ReadAllText(GetTestDataPath("CSV_Advanced04_LotsOfStuff.txt"));
            var config  = new CsvReaderV2Config()
            {
            };
            var dt = new CsvReaderV2(config).CreateDataTable(csvText);

            //Action
#pragma warning disable CS0618 // Obsolete Attribbute on method call
            var text = new CsvReaderV2().CreateString(dt, wrapOnlyIfNeeded: false, includeHeaders: true);
#pragma warning restore CS0618 // Obsolete Attribbute on method call
            var expected = File.ReadAllText(GetTestDataPath("Result_Advanced04_LotsOfStuff.txt"));

            //Assert
            Assert.AreEqual(expected, text);
        }
        public void CsvReaderV2_CreateString_ConfigNewFlagFalse_DataTable_ReturnsCsvString()
        {
            //Prep
            var csvText = GetCsvStringAdvanced();
            var config  = new CsvReaderV2Config()
            {
                IgnoreFalsePositiveEmptyRows = false
            };
            var dt = new CsvReaderV2(config).CreateDataTable(csvText);

            //Action
            var text     = new CsvReaderV2(config).CreateString(dt);
            var expected = "";

            //expected = File.ReadAllText(GetTestDataPath("Result_Advanced04_LotsOfStuff_ConfigNewFlagFalse.txt"));
            expected = GetExpected_Advanced_ConfigNewFlagFalse();

            //Assert
            Assert.AreEqual(expected: expected, actual: text);
        }
        public void CsvReaderV2_CreateDataTable_ConfigDefault_CsvString_ReturnsDataTableWithAllRows()
        {
            //Prep
            var csvText = GetCsvStringAdvanced();

            var config = new CsvReaderV2Config()
            {
            };

            var dt = new DataTable();

            using (var csv = new CsvReaderV2(config))
            {
                //Action
                dt = csv.CreateDataTable(csvText);
            }

            //Assert
            Assert.IsTrue(dt.Rows.Count == 5, message: $"Rows({dt.Rows.Count}) Cols({dt.Columns.Count})");
        }
示例#25
0
        public void CsvReaderV2MbctOnly_CreateDataTableLegacy_Input_Returns()
        {
            //Prep
            var csvText = File.ReadAllText(GetTestDataPath("CSV_Advanced04_LotsOfStuff.txt"));
            var config  = new CsvReaderV2Config()
            {
            };

            var dt = new DataTable();

            using (var csv = new CsvReaderV2(config))
            {
                //Action
#pragma warning disable CS0618 // Obsolete Attribbute on method call
                dt = csv.CreateDataTable(csvText, headerRow: true, displayRows: -1);
#pragma warning restore CS0618 // Obsolete Attribbute on method call
            }

            //Assert
            Assert.IsTrue(dt.Rows.Count == 5, message: $"Rows({dt.Rows.Count}) Cols({dt.Columns.Count})");
        }
示例#26
0
        public void CsvReaderV2MbctOnly_FixSoapNotes_Input_Returns()
        {
            //Prep
            var csvText = String.Empty;

            //csvText = File.ReadAllText(GetTestDataPath("CSV_SOAP_Basic01.txt"));
            csvText = "\"{\"SerializedContentId\":\"bc49686c\",\"Subjective\":\"<div><br></div><div><br></div>\",\"Objective\":\"\",\"Assessment\":\"<div><br bogus=\"1\"></div>\",\"Plan\":\"<div><br bogus=\"1\"></div>\",\"Note\":\"\"}\"";
            csvText = Environment.NewLine + csvText + Environment.NewLine;

            var expected = String.Empty;

            //expected = File.ReadAllText(GetTestDataPath("Result_SOAP_Basic01.txt"));
            expected = "\"{\"\"SerializedContentId\"\":\"\"bc49686c\"\",\"\"Subjective\"\":\"\"<div><br></div><div><br></div>\"\",\"\"Objective\"\":\"\"\"\",\"\"Assessment\"\":\"\"<div><br bogus=\"\"1\"\"></div>\"\",\"\"Plan\"\":\"\"<div><br bogus=\"\"1\"\"></div>\"\",\"\"Note\"\":\"\"\"\"}\"";
            expected = Environment.NewLine + expected + Environment.NewLine;

            //Action
            var actual = new CsvReaderV2().FixSoapNotes(csvText);

            //Assert
            Assert.AreEqual(expected, actual);
        }