10 #include <boost/test/unit_test.hpp> 12 #define BOOST_TEST_MODULE test_hikyuu_serialize_suite 13 #include <boost/test/unit_test.hpp> 17 #include <boost/archive/xml_oarchive.hpp> 18 #include <boost/archive/xml_iarchive.hpp> 19 #include <hikyuu/StockManager.h> 20 #include <hikyuu/serialization/TimeLineRecord_serialization.h> 24 #if HKU_SUPPORT_SERIALIZATION 34 string filename(StockManager::instance().tmpdir());
35 filename +=
"/TimeLineRecord.xml";
37 TimeLineRecord t1(Datetime(201101010000), 10.0, 80);
39 std::ofstream ofs(filename);
40 boost::archive::xml_oarchive oa(ofs);
41 oa << BOOST_SERIALIZATION_NVP(t1);
46 std::ifstream ifs(filename);
47 boost::archive::xml_iarchive ia(ifs);
48 ia >> BOOST_SERIALIZATION_NVP(t2);
51 BOOST_CHECK(t1.datetime == t2.datetime);
52 BOOST_CHECK(t1.price == t2.price);
53 BOOST_CHECK(t1.vol == t2.vol);
59 string filename(StockManager::instance().tmpdir());
60 filename +=
"/TimeLineList.xml";
63 line1.push_back(TimeLineRecord(Datetime(201101010000), 10.0, 80));
64 line1.push_back(TimeLineRecord(Datetime(201101020000), 20.0, 90));
65 line1.push_back(TimeLineRecord(Datetime(201101030000), 20.0, 100));
67 std::ofstream ofs(filename);
68 boost::archive::xml_oarchive oa(ofs);
69 oa << BOOST_SERIALIZATION_NVP(line1);
74 std::ifstream ifs(filename);
75 boost::archive::xml_iarchive ia(ifs);
76 ia >> BOOST_SERIALIZATION_NVP(line2);
79 BOOST_CHECK(line1.size() != 0);
80 BOOST_CHECK(line1.size() == line2.size());
81 size_t total = line1.size();
82 for (
size_t i = 0; i < total; i++) {
83 BOOST_CHECK(line1[i] == line2[i]);
BOOST_AUTO_TEST_CASE(test_TimeLine_query_by_index)