示例#1
0
        private string GetResult(SearchTestCase testCase, IEnumerable <string> dic)
        {
            var builder = new StringBuilder();

            try
            {
                var           clause = ParseSearch(testCase.RawQuery);
                var           eval   = clause.GetMatchFunc();
                List <string> pass   = new List <string>();
                List <string> nass   = new List <string>();
                foreach (var word in dic)
                {
                    if (eval(word))
                    {
                        pass.Add(word);
                    }
                    else
                    {
                        nass.Add(word);
                    }
                }

                builder.AppendLine("Match:" + string.Join(", ", pass) + ";");
                builder.AppendLine("Unmatch:" + string.Join(", ", nass) + ";");
            }
            catch (ODataException e)
            {
                builder.AppendLine("Exception:" + e.Message);
            }

            return(builder.ToString());
        }
示例#2
0
 public void FourWordsTest()
 {
     RunTestCases(BuildUpCases(SearchTestCase.Words.Take(4)), SearchTestCase.BuildLexicon(5));
 }
示例#3
0
 public void ThreeWordsTest()
 {
     RunTestCases(BuildUpCases(SearchTestCase.Words.Take(3)), SearchTestCase.BuildLexicon(4));
 }
示例#4
0
 public void OneWordTest()
 {
     RunTestCases(BuildUpCases(SearchTestCase.Words.Take(1)), SearchTestCase.BuildLexicon(2));
 }