Esempio n. 1
0
        public void TestStrings()
        {
            IParseLineDelimiters d = new TestParseCharsDelimiter();
            {
                string[] strs = ParseChars.Do("'one'", d);
                Assert.AreEqual(3, strs.Length);
                Assert.AreEqual("'", strs[0]);
                Assert.AreEqual("one", strs[1]);
                Assert.AreEqual("'", strs[2]);
            }

            {
                string[] strs = ParseChars.Do("' one '", d);
                Assert.AreEqual(3, strs.Length);
                Assert.AreEqual("'", strs[0]);
                Assert.AreEqual(" one ", strs[1]);
                Assert.AreEqual("'", strs[2]);
            }

            {
                string[] strs = ParseChars.Do("test ' \tone  ' \"more \" end", d);
                Assert.AreEqual(8, strs.Length);
                Assert.AreEqual("test", strs[0]);
                Assert.AreEqual("'", strs[1]);
                Assert.AreEqual(" \tone  ", strs[2]);
                Assert.AreEqual("'", strs[3]);
                Assert.AreEqual("\"", strs[4]);
                Assert.AreEqual("more ", strs[5]);
                Assert.AreEqual("\"", strs[6]);
                Assert.AreEqual("end", strs[7]);
            }
        }
Esempio n. 2
0
        public void TestBasic()
        {
            IParseLineDelimiters d = new TestParseCharsDelimiter();
            {
                string[] strs = ParseChars.Do("one", d);
                Assert.AreEqual(1, strs.Length);
                Assert.AreEqual("one", strs[0]);
            }

            {
                string[] strs = ParseChars.Do("one, two", d);
                Assert.AreEqual(2, strs.Length);
                Assert.AreEqual("one", strs[0]);
                Assert.AreEqual("two", strs[1]);
            }

            {
                string[] strs = ParseChars.Do("one two 3 four 5", d);
                Assert.AreEqual(5, strs.Length);
                Assert.AreEqual("one", strs[0]);
                Assert.AreEqual("two", strs[1]);
                Assert.AreEqual("3", strs[2]);
                Assert.AreEqual("four", strs[3]);
                Assert.AreEqual("5", strs[4]);
            }
        }
Esempio n. 3
0
        public void TestToEnd()
        {
            IParseLineDelimiters d = new TestParseCharsDelimiter();
            {	// this documents that multi-char string delims still need work
                // it should be 3 items where "qwert  yuiop" is the last item
                string[] strs = ParseChars.Do("asdf .' qwert  yuiop", d);
                Assert.AreEqual(4, strs.Length);
                Assert.AreEqual("asdf", strs[0]);
                Assert.AreEqual(".'", strs[1]);
                Assert.AreEqual("qwert", strs[2]);
                Assert.AreEqual("yuiop", strs[3]);
            }

            {
                string[] strs = ParseChars.Do("asdf '''qwert  yuiop", d);
                Assert.AreEqual(3, strs.Length);
                Assert.AreEqual("asdf", strs[0]);
                Assert.AreEqual("'''", strs[1]);
                Assert.AreEqual("qwert  yuiop", strs[2]);
            }
        }