📄 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(){ data_loader.init(0,NULL);}void DataTest::tearDown(){}void DataTest::test_get_stock_code_entity(const std::string& str_market_code){ char p_prefix_filename[256]; memset(p_prefix_filename,0,sizeof(p_prefix_filename)); 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; is_split = str_split(p_prefix_filename, p_chr_pattern, vect_str); CPPUNIT_ASSERT( is_split == true ); string str_tmp = "gg"; try { //I18N_DEBUG(_("%s [%s:%l] DataTest::test_get_stock_code ===================== 3 ========= \n")); is_contain = data_loader.get_stock_code(vect_stock_code,str_market_code,p_prefix_filename); //I18N_DEBUG(_("%s [%s:%l] DataTest::test_get_stock_code ===================== 4 ========= \n")); 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::test_load_day_data_type0(VectStockData& vect_stockdata, const std::string& str_stock_code, const char* p_chr_from_date,const char* p_chr_to_date,bool is_show, hbstock2::DIV_TYPE div_type,bool is_included_div_data){ bool isTrue = false; try { isTrue = data_loader.load_day_data(vect_stockdata, str_stock_code,p_chr_from_date,p_chr_to_date, div_type,is_included_div_data); if (!is_show) { return; } for (unsigned int i=0; i<vect_stockdata.size();i++) { I18N_INFO(_D("%s %s\t%f\t%f\t%f\t%f\t%d\t%f\t%f\n"), vect_stockdata[i].day, vect_stockdata[i].open_price, vect_stockdata[i].close_price, vect_stockdata[i].high_price, vect_stockdata[i].low_price, vect_stockdata[i].volume, vect_stockdata[i].money, vect_stockdata[i].last_close_price); } } catch (std::exception& ex) { I18N_ERROR(_("%s [%s:%l] load data error : %s \n"),ex.what()); } }void DataTest::test_load_day_data_type1(hbstock2::VectStockData& vect_stockdata, const std::string& str_stock_code, const char* p_chr_date,int data_length,bool is_front_data, bool is_show , hbstock2::DIV_TYPE div_type,bool is_included_div_data){ bool isTrue = false; try { isTrue = data_loader.load_day_data(vect_stockdata, str_stock_code,p_chr_date,data_length,is_front_data, div_type,is_included_div_data); if (!is_show) { return; } for (unsigned int i=0; i<vect_stockdata.size();i++) { I18N_INFO(_D("%s %s\t%f\t%f\t%f\t%f\t%d\t%f\t%f\n"), vect_stockdata[i].day, vect_stockdata[i].open_price, vect_stockdata[i].close_price, vect_stockdata[i].high_price, vect_stockdata[i].low_price, vect_stockdata[i].volume, vect_stockdata[i].money, vect_stockdata[i].last_close_price); } } catch (std::exception& ex) { I18N_ERROR(_("%s [%s:%l] load data error : %s \n"),ex.what()); } }void DataTest::test_load_min5_data_type0(VectStockData& vect_stockdata, const std::string& str_stock_code, const char* p_chr_from_date,const char* p_chr_to_date,bool is_show, hbstock2::DIV_TYPE div_type,bool is_included_div_data){ bool isTrue = false; try { isTrue = data_loader.load_min5_data(vect_stockdata, str_stock_code,p_chr_from_date,p_chr_to_date, div_type,is_included_div_data); if (!is_show) { return; } for (unsigned int i=0; i<vect_stockdata.size();i++) { I18N_INFO(_D("%s %s\t%f\t%f\t%f\t%f\t%d\t%f\n"), vect_stockdata[i].day, vect_stockdata[i].open_price, vect_stockdata[i].close_price, vect_stockdata[i].high_price, vect_stockdata[i].low_price, vect_stockdata[i].volume, vect_stockdata[i].money, vect_stockdata[i].last_close_price); } } catch (std::exception& ex) { I18N_ERROR(_("%s [%s:%l] load data error : %s \n"),ex.what()); } }void DataTest::test_load_min5_data_type1(hbstock2::VectStockData& vect_stockdata, const std::string& str_stock_code, const char* p_chr_date,int data_length,bool is_front_data, bool is_show , hbstock2::DIV_TYPE div_type,bool is_included_div_data){ bool isTrue = false; try { isTrue = data_loader.load_min5_data(vect_stockdata, str_stock_code,p_chr_date,data_length,is_front_data, div_type,is_included_div_data); if (!is_show) { return; } for (unsigned int i=0; i<vect_stockdata.size();i++) { I18N_INFO(_D("%s %s\t%f\t%f\t%f\t%f\t%d\t%f\n"), vect_stockdata[i].day, vect_stockdata[i].open_price, vect_stockdata[i].close_price, vect_stockdata[i].high_price,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -