📄 datatest.cpp
字号:
#include <iostream>#include "hbstock2/hbstock_init.h"#include "hbstock2/stock_data.h"#include "gnu/usage_tool.h"#include "gnu/i18n_debug.h"#include "dataTest.h"using namespace std;using namespace hbstock2;using namespace gnu;static const char* LOGFILE = gnu::FILENAME(__FILE__);CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( DataTest, "unitTest" );void DataTest::setUp(){ dataloader_name = "stockstar_data_loader"; default_dataloader_name = "tdx_data_loader"; unregister_dataloader_name = "stockstar_data_loader"; market_name = "SZ";}void DataTest::tearDown(){}void DataTest::test_get_stock_code_entity(const std::string& str_market_code){ char p_prefix_filename[256]; strcpy(p_prefix_filename,"600036"); test_get_stock_code(str_market_code,p_prefix_filename); strcpy(p_prefix_filename,"000503"); test_get_stock_code(str_market_code,p_prefix_filename); strcpy(p_prefix_filename,"036"); test_get_stock_code(str_market_code,p_prefix_filename); strcpy(p_prefix_filename,"600*36"); test_get_stock_code(str_market_code,p_prefix_filename); strcpy(p_prefix_filename,"600*36*"); test_get_stock_code(str_market_code,p_prefix_filename); strcpy(p_prefix_filename,"00*36"); test_get_stock_code(str_market_code,p_prefix_filename); strcpy(p_prefix_filename,"*00*36*"); test_get_stock_code(str_market_code,p_prefix_filename); }void DataTest::test_get_stock_code(const std::string& str_market_code,const char* p_prefix_filename){ if (p_prefix_filename == NULL) { return; } std::vector<std::string> vect_stock_code; bool is_contain = false; std::vector<std::string> vect_str; const char* p_chr_pattern = "*"; bool is_split = false; DataManger* p_datamanger = 0; p_datamanger = DataMangerInst::instance(); is_split = str_split(p_prefix_filename, p_chr_pattern, vect_str); CPPUNIT_ASSERT( is_split ); /* for (unsigned int i=0;i<vect_str.size();i++) { ACE_DEBUG ((LM_DEBUG, "split : %s\n",vect_str[i].c_str())); } */ string str_tmp; try { is_contain = p_datamanger->get_stock_code(vect_stock_code,str_market_code,p_prefix_filename); for (unsigned int i=0;i<vect_stock_code.size();i++) { //ACE_DEBUG ((LM_DEBUG, "stock %s : %s\n",p_prefix_filename,vect_stock_code[i].c_str())); if (p_prefix_filename[0] != '*') { str_tmp = str_market_code + "." + vect_str[0]; CPPUNIT_ASSERT( str_tmp == (vect_stock_code[i].substr(0,str_tmp.size()))); } if (p_prefix_filename[strlen(p_prefix_filename)-1] != '*') { str_tmp = vect_str[vect_str.size()-1]; CPPUNIT_ASSERT( str_tmp == (vect_stock_code[i].substr(vect_stock_code[i].size()-str_tmp.size()))); } } vect_stock_code.clear(); } catch (std::exception& ex) { I18N_ERROR(_("%s [%s:%l] get stock code error, error is: %s\n"),ex.what()); }}void DataTest::testAll(){ status = 0; AppConfig* p_app_config = AppConfigInst::instance();
string str_dir = p_app_config->get_root_dir() + "/plugin/data";
const char* p_file_prefix = "data_"; DataManger* p_datamanger = 0; p_datamanger = DataMangerInst::instance();
p_datamanger->load_dso_from_dir(str_dir,p_file_prefix); //p_datamanger->load_dso_from_dir(str_dir); /*------------------------------- test All information after load ==> start ------------------------------*/ I18N_DEBUG(_DEBUG("%s\n"),_("All information after load."));
p_datamanger->print_info();
// call init() function to init data
p_datamanger->init();
vect_dataloader.clear(); SetDataLoaderPtr set_dataloader_ptr = p_datamanger->get_all_dataloaders(); SetDataLoader::const_iterator iter_dataloader; for (iter_dataloader=set_dataloader_ptr->begin();iter_dataloader!=set_dataloader_ptr->end();iter_dataloader++) { vect_dataloader.push_back((*iter_dataloader)->get_name()); } /*------------------------------- test All information after load ==> end ------------------------------*/ /*------------------------------- test set default dataloader ==> start ------------------------------*/ vect_market_code.clear(); SetMarketPtr set_market_ptr = p_datamanger->get_all_market(); SetMarket::const_iterator iter_market_code; for (iter_market_code=set_market_ptr->begin();iter_market_code!=set_market_ptr->end();iter_market_code++) { vect_market_code.push_back(iter_market_code->code); } I18N_DEBUG(_DEBUG("%s\n"),_("check dataloader")); std::vector<std::string>::const_iterator iter_str; for (iter_str=vect_dataloader.begin();iter_str!= vect_dataloader.end();iter_str++) { I18N_DEBUG(_DEBUG("%s : %s\n"),_("dataloader"),iter_str->c_str()); DataLoaderPtr dataloaderPtr = p_datamanger->get_dataloader(*iter_str); CPPUNIT_ASSERT( dataloaderPtr.get() != 0 ); //set default dataloader } // for (iter_str=vect_dataloader.begin();iter_str!= vect_dataloader.end();iter_str++) /*------------------------------- test set default dataloader ==> end ------------------------------*/ /*------------------------------- test unregister dataloader ==> start ------------------------------*/ for (iter_str=vect_dataloader.begin();iter_str!= vect_dataloader.end();iter_str++) { ACE_DEBUG ((LM_DEBUG,_("%s [%s:%l] unregister %s dataloader\n"),DEBUG_PREFIX,iter_str->c_str())); p_datamanger->unregister_dataloader(*iter_str); p_datamanger->print_info(); } /*------------------------------- test unregister dataloader ==> end ------------------------------*/ /*------------------------------- test unregister all market ==> start ------------------------------*/ I18N_DEBUG(_DEBUG("%s\n"),_("unregister all market")); for (iter_str=vect_market_code.begin();iter_str!= vect_market_code.end();iter_str++) { ACE_DEBUG ((LM_DEBUG,_("%s [%s:%l] unregister %s market\n"),DEBUG_PREFIX,iter_str->c_str())); CPPUNIT_ASSERT(p_datamanger->unregister_market(*iter_str)); p_datamanger->print_info(); }
p_datamanger->fini(); p_datamanger->print_info(); /*------------------------------- test unregister all market ==> end ------------------------------*/ CPPUNIT_ASSERT( status == 0 );}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -