test_doc
test_KData.cpp
浏览该文件的文档.
1 /*
2  * test_KRecord.cpp
3  *
4  * Created on: 2013-5-1
5  * Author: fasiondog
6  */
7 
8 #ifdef TEST_ALL_IN_ONE
9  #include <boost/test/unit_test.hpp>
10 #else
11  #define BOOST_TEST_MODULE test_hikyuu_serialize_suite
12  #include <boost/test/unit_test.hpp>
13 #endif
14 
15 #include <fstream>
16 #include <boost/archive/xml_oarchive.hpp>
17 #include <boost/archive/xml_iarchive.hpp>
18 #include <hikyuu/StockManager.h>
19 #include <hikyuu/serialization/KData_serialization.h>
20 
21 using namespace hku;
22 
23 #if HKU_SUPPORT_SERIALIZATION
24 
32 BOOST_AUTO_TEST_CASE( test_KData_serialize ) {
33  StockManager& sm = StockManager::instance();
34  string filename(sm.tmpdir());
35  filename += "/KData.xml";
36 
37  Stock stock = sm.getStock("sh600000");
38  KQuery query(10, 20);
39  KData k1 = stock.getKData(query);
40  {
41  std::ofstream ofs(filename);
42  boost::archive::xml_oarchive oa(ofs);
43  oa << BOOST_SERIALIZATION_NVP(k1);
44  }
45 
46  KData k2;
47  {
48  std::ifstream ifs(filename);
49  boost::archive::xml_iarchive ia(ifs);
50  ia >> BOOST_SERIALIZATION_NVP(k2);
51  }
52 
53  BOOST_CHECK(k1.size() == k2.size());
54  BOOST_CHECK(k1.size() != 0);
55  size_t total = k1.size();
56  for (size_t i = 0; i < total; ++i) {
57  BOOST_CHECK(k1[i] == k2[i]);
58  }
59 }
60 
63 #endif /* HKU_SUPPORT_SERIALIZATION */
64 
65 
66 
BOOST_AUTO_TEST_CASE(test_getDatetimeList)
Definition: test_KData.cpp:30