searchengine/cpix/tsrc/cpixunittest/src/utf8.cpp
changeset 3 ae3f1779f6da
parent 0 671dee74050a
child 24 65456528cac2
equal deleted inserted replaced
2:6c1a2771f4b7 3:ae3f1779f6da
    24 #include "itk.h"
    24 #include "itk.h"
    25 
    25 
    26 #include "config.h"
    26 #include "config.h"
    27 #include "testutils.h"
    27 #include "testutils.h"
    28 
    28 
       
    29 #include "std_log_result.h"
       
    30 
    29 const char * Utf8DocsToIndex[5] = {
    31 const char * Utf8DocsToIndex[5] = {
    30     FILE_TEST_CORPUS_PATH "\\fi\\1.txt",
    32     FILE_TEST_CORPUS_PATH "\\fi\\1.txt",
    31     FILE_TEST_CORPUS_PATH "\\fi\\2.txt",
    33     FILE_TEST_CORPUS_PATH "\\fi\\2.txt",
    32     FILE_TEST_CORPUS_PATH "\\fi\\3.txt",
    34     FILE_TEST_CORPUS_PATH "\\fi\\3.txt",
    33     FILE_TEST_CORPUS_PATH "\\fi\\4.txt",
    35     FILE_TEST_CORPUS_PATH "\\fi\\4.txt",
    42     NULL
    44     NULL
    43 };
    45 };
    44 
    46 
    45 void TestUtf8(Itk::TestMgr * testMgr)
    47 void TestUtf8(Itk::TestMgr * testMgr)
    46 {
    48 {
       
    49     char *xml_file = (char*)__FUNCTION__;
       
    50     assert_failed = 0;
    47         cpix_Result
    51         cpix_Result
    48             result;
    52             result;
    49 
    53 
    50         cpix_IdxDb_dbgScrapAll(&result);
    54         cpix_IdxDb_dbgScrapAll(&result);
    51 
    55 
    57 	
    61 	
    58 	util->init(); 
    62 	util->init(); 
    59 	
    63 	
    60 	cpix_Analyzer* analyzer = cpix_CreateSimpleAnalyzer(&result); 
    64 	cpix_Analyzer* analyzer = cpix_CreateSimpleAnalyzer(&result); 
    61 	
    65 	
    62 	if ( cpix_Failed( &result) ) ITK_PANIC("Analyzer could not be created");
    66 	if ( cpix_Failed( &result) ) 
       
    67 	    {
       
    68         assert_failed = 1;
       
    69         ITK_PANIC("Analyzer could not be created");
       
    70 	    }
    63 	
    71 	
    64 	for (int i = 0; Utf8DocsToIndex[i]; i++) 
    72 	for (int i = 0; Utf8DocsToIndex[i]; i++) 
    65 	{
    73 	{
    66 		util->indexFile( Utf8DocsToIndex[i], analyzer, testMgr ); 
    74 		util->indexFile( Utf8DocsToIndex[i], analyzer, testMgr ); 
    67 	}
    75 	}
    74 			* queryParser = cpix_QueryParser_create(&result,
    82 			* queryParser = cpix_QueryParser_create(&result,
    75 													CONTENTS_FIELD,
    83 													CONTENTS_FIELD,
    76 													analyzer );
    84 													analyzer );
    77 		if (queryParser == NULL)
    85 		if (queryParser == NULL)
    78 			{
    86 			{
       
    87                 assert_failed = 1;
    79 				cpix_Analyzer_destroy( analyzer );
    88 				cpix_Analyzer_destroy( analyzer );
    80 				ITK_PANIC("Could not create query parser");
    89 				ITK_PANIC("Could not create query parser");
    81 			}
    90 			}
    82 	
    91 	
    83 		cpix_Query* query = cpix_QueryParser_parse(queryParser,
    92 		cpix_Query* query = cpix_QueryParser_parse(queryParser,
    84 												   UcsTermsToSearch[i]);
    93 												   UcsTermsToSearch[i]);
    85 		if (cpix_Failed(queryParser)
    94 		if (cpix_Failed(queryParser)
    86 			|| query == NULL)
    95 			|| query == NULL)
    87 			{
    96 			{
       
    97                 assert_failed = 1;
    88 				cpix_Analyzer_destroy(analyzer);
    98 				cpix_Analyzer_destroy(analyzer);
    89 				cpix_ClearError(queryParser);
    99 				cpix_ClearError(queryParser);
    90 				cpix_QueryParser_destroy(queryParser);
   100 				cpix_QueryParser_destroy(queryParser);
    91 				ITK_PANIC("Could not parse query string");
   101 				ITK_PANIC("Could not parse query string");
    92 			}
   102 			}
   102 		
   112 		
   103 		cpix_Hits_destroy( hits ); 
   113 		cpix_Hits_destroy( hits ); 
   104 	}
   114 	}
   105 	
   115 	
   106 	cpix_Analyzer_destroy( analyzer ); 
   116 	cpix_Analyzer_destroy( analyzer ); 
       
   117 	testResultXml(xml_file);
   107 }
   118 }
   108 
   119 
   109 Itk::TesterBase * CreateUtf8Tests()
   120 Itk::TesterBase * CreateUtf8Tests()
   110 {
   121 {
   111     using namespace Itk;
   122     using namespace Itk;
   112 
   123 
   113     ContextTester
   124     SuiteTester
   114         * whiteBox = new ContextTester("utf8",
   125         * whiteBox = new SuiteTester("utf8"); // default context
   115                                        NULL); // default context
       
   116 
   126 
   117     whiteBox->add("utf8",
   127     whiteBox->add("utf8",
   118                   &TestUtf8,
   128                   &TestUtf8,
   119                   "utf8");
   129                   "utf8");
   120 
   130