29 #include "cpixanalyzer.h" |
29 #include "cpixanalyzer.h" |
30 |
30 |
31 #include "cpixdoc.h" |
31 #include "cpixdoc.h" |
32 |
32 |
33 #include "std_log_result.h" |
33 #include "std_log_result.h" |
|
34 |
34 const char * AnalysisTestDocsToIndex[5] = { |
35 const char * AnalysisTestDocsToIndex[5] = { |
35 FILE_TEST_CORPUS_PATH "\\en\\1.txt", |
36 FILE_TEST_CORPUS_PATH "\\en\\1.txt", |
36 FILE_TEST_CORPUS_PATH "\\en\\2.txt", |
37 FILE_TEST_CORPUS_PATH "\\en\\2.txt", |
37 FILE_TEST_CORPUS_PATH "\\en\\3.txt", |
38 FILE_TEST_CORPUS_PATH "\\en\\3.txt", |
38 FILE_TEST_CORPUS_PATH "\\en\\4.txt", |
39 FILE_TEST_CORPUS_PATH "\\en\\4.txt", |
81 TestAnalyzerParsing(testMgr, L"letter>lowercase>stop(en)"); |
82 TestAnalyzerParsing(testMgr, L"letter>lowercase>stop(en)"); |
82 TestAnalyzerParsing(testMgr, L"letter>lowercase>stop('a', 'an', 'the')"); |
83 TestAnalyzerParsing(testMgr, L"letter>lowercase>stop('a', 'an', 'the')"); |
83 |
84 |
84 // bad syntaxes |
85 // bad syntaxes |
85 TestAnalyzerParsing(testMgr, L"letter><lowercase" ,0); |
86 TestAnalyzerParsing(testMgr, L"letter><lowercase" ,0); |
86 TestAnalyzerParsing(testMgr, L"38j_d fad23 4?q ca'wRA", 0 ); |
87 TestAnalyzerParsing(testMgr, L"38j_d fad23 4?q ca'wRA", 0 ); |
|
88 TestAnalyzerParsing(testMgr, L"38.45_d fd23<ca'wRA", 0 ); |
87 // parsing failures |
89 // parsing failures |
88 TestAnalyzerParsing(testMgr, L"letter>>lowercase", 0 ); |
90 TestAnalyzerParsing(testMgr, L"letter>>lowercase", 0 ); |
89 TestAnalyzerParsing(testMgr, L">letter>>lowercase lowercase", 0 ); |
91 TestAnalyzerParsing(testMgr, L">letter>>lowercase lowercase", 0 ); |
90 TestAnalyzerParsing(testMgr, L"letter lowercase", 0 ); |
92 TestAnalyzerParsing(testMgr, L"letter lowercase", 0 ); |
91 testResultXml(xml_file); |
93 testResultXml(xml_file); |
92 } |
94 } |
93 |
|
94 void TestSwitchParsing(Itk::TestMgr * testMgr) |
95 void TestSwitchParsing(Itk::TestMgr * testMgr) |
95 { |
96 { |
96 char *xml_file = (char*)__FUNCTION__; |
97 char *xml_file = (char*)__FUNCTION__; |
97 assert_failed = 0; |
98 assert_failed = 0; |
98 // Per field query syntax |
99 // Per field query syntax |
103 L"default: standard;" |
104 L"default: standard;" |
104 L"}"); |
105 L"}"); |
105 TestAnalyzerParsing(testMgr, L"switch{ case '_qnr': whitespace; default: standard; }>lowercase"); |
106 TestAnalyzerParsing(testMgr, L"switch{ case '_qnr': whitespace; default: standard; }>lowercase"); |
106 TestAnalyzerParsing(testMgr, L"switch{ default: standard; }"); |
107 TestAnalyzerParsing(testMgr, L"switch{ default: standard; }"); |
107 TestAnalyzerParsing(testMgr, L"switch{ case '_qnr': switch{ case '_docuid': keyword; default: whitespace; }; default: standard; }"); |
108 TestAnalyzerParsing(testMgr, L"switch{ case '_qnr': switch{ case '_docuid': keyword; default: whitespace; }; default: standard; }"); |
|
109 TestAnalyzerParsing(testMgr, L"switch{ case '_mimetype': standard; default: whitespace; }; default: standard; }"); |
108 testResultXml(xml_file); |
110 testResultXml(xml_file); |
109 } |
111 } |
110 |
112 |
111 void TestAnalyzerUsage(Itk::TestMgr * testMgr, const wchar_t* definition) |
113 void TestAnalyzerUsage(Itk::TestMgr * testMgr, const wchar_t* definition) |
112 { |
114 { |
113 printf("Indexing and searching with %S\n", definition); |
115 printf("Indexing and searching with %S\n", definition); |
114 char *xml_file = (char*)__FUNCTION__; |
|
115 assert_failed = 0; |
|
116 cpix_Result |
116 cpix_Result |
117 result; |
117 result; |
118 |
118 |
119 cpix_IdxDb_dbgScrapAll(&result); |
119 cpix_IdxDb_dbgScrapAll(&result); |
120 |
120 |
203 cpix_Hits_destroy( hits ); |
203 cpix_Hits_destroy( hits ); |
204 } |
204 } |
205 } |
205 } |
206 cpix_QueryParser_destroy(queryParser); |
206 cpix_QueryParser_destroy(queryParser); |
207 cpix_Analyzer_destroy( analyzer ); |
207 cpix_Analyzer_destroy( analyzer ); |
208 testResultXml(xml_file); |
208 |
209 } |
209 } |
210 |
210 |
211 void TestAnalyzersUsage(Itk::TestMgr * testMgr) |
211 void TestAnalyzersUsage(Itk::TestMgr * testMgr) |
212 { |
212 { |
213 char *xml_file = (char*)__FUNCTION__; |
213 char *xml_file = (char*)__FUNCTION__; |