Exemple #1
0
        public void ReadsInvalidEntriesSuccessfully()
        {
            StringReader   reader = new StringReader("þ0þþ1þ2þ\nþ3þþ4þþ5þ");
            ParseDelimited parser = new ParseDelimited(header: new string[] { "a", "b", "c" });
            List <Dictionary <string, object> > entries = new List <Dictionary <string, object> >();

            while (reader.Peek() >= 0)
            {
                entries.Add(parser.ReadLine(reader.ReadLine()));
            }
        }
Exemple #2
0
        public void ReadsEntriesSuccessfullyDuplicateHeader()
        {
            StringReader   reader = new StringReader("þ0þ,þ1þ,þ2þ,þ3þ\nþ4þ,þ5þ,þ6þ,þ7þ");
            ParseDelimited parser = new ParseDelimited(header: new string[] { "a", "b", "c", "a" }, delimiter: ',');
            List <Dictionary <string, object> > entries = new List <Dictionary <string, object> >();

            while (reader.Peek() >= 0)
            {
                entries.Add(parser.ReadLine(reader.ReadLine()));
            }
            string[] expected = { "3", "7" };
            string[] actual   = entries.Select(row => row["a_2"].ToString()).ToArray();
            CollectionAssert.AreEqual(expected, actual, "Not parsed out correct columns for duplicate header concordance");
        }
Exemple #3
0
        public void ReadsEntriesSuccessfullyCustomQuote()
        {
            StringReader   reader = new StringReader("'0','1','2'\n'3','4','5'");
            ParseDelimited parser = new ParseDelimited(header: new string[] { "a", "b", "c" }, delimiter: ',', quote: '\'');
            List <Dictionary <string, object> > entries = new List <Dictionary <string, object> >();

            while (reader.Peek() >= 0)
            {
                entries.Add(parser.ReadLine(reader.ReadLine()));
            }
            string[] expected = { "0", "3" };
            string[] actual   = entries.Select(row => row["a"].ToString()).ToArray();
            CollectionAssert.AreEqual(expected, actual, "Not parsed out correct columns for multirow concordance");
        }
Exemple #4
0
        public void ReadsEntriesSuccessfully()
        {
            StringReader   reader = new StringReader("þ0þþ1þþ2þ\nþ3þþ4þþ5þ");
            ParseDelimited parser = new ParseDelimited(header: new string[] { "a", "b", "c" });
            List <Dictionary <string, object> > entries = new List <Dictionary <string, object> >();

            while (reader.Peek() >= 0)
            {
                entries.Add(parser.ReadLine(reader.ReadLine()));
            }
            string[] expected = { "0", "3" };
            string[] actual   = entries.Select(row => row["a"].ToString()).ToArray();
            CollectionAssert.AreEqual(expected, actual, "Not parsed out correct columns for multirow concordance");
        }
Exemple #5
0
        public void ReadsHeaderFromFirstRow()
        {
            StringReader   reader = new StringReader("þaþ,þbþ,þcþ,þdþ\nþ0þ,þ1þ,þ2þ,þ3þ\nþ4þ,þ5þ,þ6þ,þ7þ");
            ParseDelimited parser = new ParseDelimited(delimiter: ',');

            parser.ReadHeader(reader.ReadLine());
            List <Dictionary <string, object> > entries = new List <Dictionary <string, object> >();

            while (reader.Peek() >= 0)
            {
                entries.Add(parser.ReadLine(reader.ReadLine()));
            }
            string[] expected = { "3", "7" };
            string[] actual   = entries.Select(row => row["d"].ToString()).ToArray();
            CollectionAssert.AreEqual(expected, actual, "Not parsed out correct data when header provided from concordance");
        }
Exemple #6
0
        public void ReadsEntrySuccessfully()
        {
            StringReader   reader = new StringReader("þ0þþ1þþ2þ");
            ParseDelimited parser = new ParseDelimited(header: new string[] { "a", "b", "c" });
            List <Dictionary <string, object> > entries = new List <Dictionary <string, object> >();

            while (reader.Peek() >= 0)
            {
                entries.Add(parser.ReadLine(reader.ReadLine()));
            }
            Dictionary <string, object> entry = entries[0];
            string expected = "0";
            string actual   = entry["a"].ToString();

            Assert.AreEqual(expected, actual, "Not parsed out correct input for column 1");
        }