test_doc
test_StockTypeInfo.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/StockTypeInfo_serialization.h>
20 
21 using namespace hku;
22 
23 #if HKU_SUPPORT_SERIALIZATION
24 
32 BOOST_AUTO_TEST_CASE( test_StockTypeInfo_serialize ) {
33  StockManager& sm = StockManager::instance();
34  string filename(sm.tmpdir());
35  filename += "/StockTypeInfo.xml";
36 
37  StockTypeInfo m1 = sm.getStockTypeInfo(1);
38  {
39  std::ofstream ofs(filename);
40  boost::archive::xml_oarchive oa(ofs);
41  oa << BOOST_SERIALIZATION_NVP(m1);
42  }
43 
44  StockTypeInfo m2;
45  {
46  std::ifstream ifs(filename);
47  boost::archive::xml_iarchive ia(ifs);
48  ia >> BOOST_SERIALIZATION_NVP(m2);
49  }
50 
51  BOOST_CHECK(m1.type() == m2.type());
52  BOOST_CHECK(m1.description() == m2.description());
53  BOOST_CHECK(m1.tick() == m2.tick());
54  BOOST_CHECK(m1.tickValue() == m2.tickValue());
55  BOOST_CHECK(m1.unit() == m2.unit());
56  BOOST_CHECK(m1.precision() == m2.precision());
57  BOOST_CHECK(m1.minTradeNumber() == m2.minTradeNumber());
58  BOOST_CHECK(m1.maxTradeNumber() == m2.maxTradeNumber());
59 }
60 
63 #endif /* HKU_SUPPORT_SERIALIZATION */
64 
65 
66 
BOOST_AUTO_TEST_CASE(test_Datetime)