searchengine/cpix/tsrc/cpixunittest/src/analysis.cpp
changeset 7 a5fbfefd615f
parent 3 ae3f1779f6da
child 24 65456528cac2
equal deleted inserted replaced
3:ae3f1779f6da 7:a5fbfefd615f
    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__;