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/TransRecord_serialization.h> 24 #if HKU_SUPPORT_SERIALIZATION 34 string filename(StockManager::instance().tmpdir());
35 filename +=
"/TransRecord.xml";
37 TransRecord t1(Datetime(201101010000), 10.0, 80, TransRecord::SELL);
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 == t2);
57 string filename(StockManager::instance().tmpdir());
58 filename +=
"/TransList.xml";
61 line1.push_back(TransRecord(Datetime(201101010000), 10.0, 80, TransRecord::BUY));
62 line1.push_back(TransRecord(Datetime(201101020000), 20.0, 90, TransRecord::SELL));
63 line1.push_back(TransRecord(Datetime(201101030000), 20.0, 100, TransRecord::AUCTION));
65 std::ofstream ofs(filename);
66 boost::archive::xml_oarchive oa(ofs);
67 oa << BOOST_SERIALIZATION_NVP(line1);
72 std::ifstream ifs(filename);
73 boost::archive::xml_iarchive ia(ifs);
74 ia >> BOOST_SERIALIZATION_NVP(line2);
77 BOOST_CHECK(line1.size() != 0);
78 BOOST_CHECK(line1.size() == line2.size());
79 size_t total = line1.size();
80 for (
size_t i = 0; i < total; i++) {
81 BOOST_CHECK(line1[i] == line2[i]);
BOOST_AUTO_TEST_CASE(test_Datetime)