Example #1
0
 public void MultipleDoubleDelimiterTest()
 {
     DnaStringParser parser = new DnaStringParser("blah1,, blah2,, blah3, ,, , ", delimiter, true, true, true);
     string[] substrings = parser.Parse();
     Assert.AreEqual(substrings.Length, 3, "Unexpected number of substrings.");
     Assert.AreEqual("blah1", substrings[0]);
     Assert.AreEqual("blah2", substrings[1]);
     Assert.AreEqual("blah3", substrings[2]);
 }
Example #2
0
 public void BasicListTest()
 {
     Console.WriteLine("String Parser - BasicListTest");
     DnaStringParser parser = new DnaStringParser("blah1, blah2, blah3", delimiter,true,true,true);
     string[] substrings = parser.Parse();
     Assert.AreEqual(substrings.Length, 3, "Unexpected number of substrings."); 
     Assert.AreEqual("blah1", substrings[0]);
     Assert.AreEqual("blah2", substrings[1]);
     Assert.AreEqual("blah3", substrings[2]);
 }
Example #3
0
 public void QuotedElementWithProblemCharactersTest()
 {
     string param = @"""blah1 &^%£$"", blah5, blah6,";
     DnaStringParser parser = new DnaStringParser(param, delimiter, true, true, true);
     string[] substrings = parser.Parse();
     Assert.AreEqual(substrings.Length, 3, "Unexpected number of substrings.");
     Assert.AreEqual("blah1 &^%£$", substrings[0]);
     Assert.AreEqual("blah5", substrings[1]);
     Assert.AreEqual("blah6", substrings[2]);
 }
Example #4
0
 public void QuotedNonQuotedElementMixTest()
 {
     string param = @"""blah1"", blah2, blah3, ""blah4""";
     DnaStringParser parser = new DnaStringParser(param, delimiter, true, true, true);
     string[] substrings = parser.Parse();
     Assert.AreEqual(substrings.Length, 4, "Unexpected number of substrings.");
     Assert.AreEqual("blah1", substrings[0]);
     Assert.AreEqual("blah2", substrings[1]);
     Assert.AreEqual("blah3", substrings[2]);
     Assert.AreEqual("blah4", substrings[3]);
 }
Example #5
0
 public void QuotedElementWithSpacesAndCommasTest()
 {
     string param = @"""blah1 blah2, blah3 blah4"", blah5, blah6,";
     DnaStringParser parser = new DnaStringParser(param, delimiter, true, true, true);
     string[] substrings = parser.Parse();
     Assert.AreEqual(substrings.Length, 3, "Unexpected number of substrings.");
     Assert.AreEqual("blah1 blah2 blah3 blah4", substrings[0]);
     Assert.AreEqual("blah5", substrings[1]);
     Assert.AreEqual("blah6", substrings[2]);
 }
Example #6
0
 public void DuplicateElementCaseWithDoubleDelimitersTest()
 {
     DnaStringParser parser = new DnaStringParser("blah1, blah2,, blah3, blah3, , , , ,, BLAH3,, bLah2", delimiter, true, true, true);
     string[] substrings = parser.Parse();
     Assert.AreEqual(substrings.Length, 5, "Unexpected number of substrings.");
     Assert.AreEqual("blah1", substrings[0]);
     Assert.AreEqual("blah2", substrings[1]);
     Assert.AreEqual("blah3", substrings[2]);
     Assert.AreEqual("BLAH3", substrings[3]);
     Assert.AreEqual("bLah2", substrings[4]);
 }
Example #7
0
 public void MultipleQuotedElementsTest()
 {
     string param = @"""blah1"", ""blah2""";
     DnaStringParser parser = new DnaStringParser(param, delimiter, true, true, true);
     string[] substrings = parser.Parse();
     Assert.AreEqual(substrings.Length, 2, "Unexpected number of substrings.");
     Assert.AreEqual("blah1", substrings[0]);
     Assert.AreEqual("blah2", substrings[1]);
 }
Example #8
0
 public void DuplicateElementTest()
 {
     DnaStringParser parser = new DnaStringParser("blah1, blah2, blah3, blah3", delimiter, true, true, true);
     string[] substrings = parser.Parse();
     Assert.AreEqual(substrings.Length, 3, "Unexpected number of substrings.");
     Assert.AreEqual("blah1", substrings[0]);
     Assert.AreEqual("blah2", substrings[1]);
     Assert.AreEqual("blah3", substrings[2]);
 }
Example #9
0
 public void MixedMultiplicityDelimiterTest()
 {
     DnaStringParser parser = new DnaStringParser("blah1, blah2,,, blah3,,,, blah4, blah5,,,, blah6, , blah7, ", delimiter, true, true, true);
     string[] substrings = parser.Parse();
     Assert.AreEqual(substrings.Length, 7, "Unexpected number of substrings.");
     Assert.AreEqual("blah1", substrings[0]);
     Assert.AreEqual("blah2", substrings[1]);
     Assert.AreEqual("blah3", substrings[2]);
     Assert.AreEqual("blah4", substrings[3]);
     Assert.AreEqual("blah5", substrings[4]);
     Assert.AreEqual("blah6", substrings[5]);
     Assert.AreEqual("blah7", substrings[6]);
 }
Example #10
0
        /// <summary>
        /// Generates an "AND" search query
        /// </summary>
        /// <param name="searchQuery">the original search query</param>
        /// <returns>the search term to pass into the stored proc</returns>
        public static string GenerateANDSearchQuery(string searchQuery)
        {
            char[] delimiters = { ',', ' ' };
            DnaStringParser stringparser = new DnaStringParser(searchQuery, delimiters, true, true, false);
            string[] queries = stringparser.Parse();

            return SearchThreadPosts.FormatSearchTerm(ref queries);
        }
Example #11
0
        /// <summary>
        /// Generates an "AND" search query
        /// </summary>
        /// <param name="searchQuery">the original search query</param>
        /// <returns>the search term to pass into the stored proc</returns>
        private string GenerateANDSearchQuery(string searchQuery)
        {
            char[] delimiters = { ',', ' ' };
            DnaStringParser stringparser = new DnaStringParser(searchQuery, delimiters,true,true,false);
            string[] queries = stringparser.Parse();

            string search = string.Empty;
            for (int i = 0; i < queries.GetLength(0) - 1; i++)
            {
                search += "\"" + queries[i] + "\"" + " AND ";
            }

            search += "\"" + queries[queries.GetLength(0)-1] + "\"";

            return search;
        }
Example #12
0
        /// <summary>
        /// Generates the SQL Search Query.
        /// </summary>
        /// <param name="searchQuery"></param>
        /// <returns></returns>
        private string GenerateSearchQuery(string searchQuery)
        {
            char[] delimiters = { ',', ' ' };
            DnaStringParser stringparser = new DnaStringParser(searchQuery, delimiters,true,true,false);
            string[] queries = stringparser.Parse();

            string search = "isabout(";
            string comma = " ";
            foreach (string query in queries)
            {
                search += comma + query + " weight (0.5)";
                comma = ",";
            }

            foreach (string query in queries)
            {
                search += comma + "formsof(inflectional, " + query + ") weight(0.25)";
                comma = ",";
            }

            search += comma + "\"" + searchQuery + "\"" + " weight(1.0)";
            search += ")";

            return search;
        }