10 #include <boost/test/unit_test.hpp> 12 #define BOOST_TEST_MODULE test_hikyuu_trade_sys_suite 13 #include <boost/test/unit_test.hpp> 16 #include <hikyuu/StockManager.h> 17 #include <hikyuu/trade_sys/system/crt/SYS_Simple.h> 18 #include <hikyuu/trade_sys/selector/crt/SE_Fixed.h> 30 StockManager& sm = StockManager::instance();
32 SYSPtr sys = SYS_Simple();
33 SEPtr se = SE_Fixed();
36 se->addStock(Stock(), sys);
37 SystemList result = se->getSelectedSystemList(Datetime(200001010000L));
38 BOOST_CHECK(result.size() == 0);
41 se->addStock(sm[
"sh600000"], SYSPtr());
42 result = se->getSelectedSystemList(Datetime(200001010000L));
43 BOOST_CHECK(result.size() == 0);
46 se->addStock(sm[
"sh600000"], sys);
47 se->addStock(sm[
"sz000001"], sys);
48 se->addStock(sm[
"sz000002"], sys);
51 result = se->getSelectedSystemList(Datetime(200001010000L));
52 BOOST_CHECK(result.size() == 3);
53 BOOST_CHECK(sm[
"sh600000"] == result[0]->getStock());
54 BOOST_CHECK(sm[
"sz000001"] == result[1]->getStock());
55 BOOST_CHECK(sm[
"sz000002"] == result[2]->getStock());
59 result = se->getSelectedSystemList(Datetime(200001010000L));
60 BOOST_CHECK(result.size() == 0);
63 se->addStock(sm[
"sh600000"], sys);
64 se->addStock(sm[
"sz000001"], sys);
65 se->addStock(sm[
"sz000002"], sys);
67 result = se->getSelectedSystemList(Datetime(200001010000L));
68 BOOST_CHECK(result.size() == 3);
69 BOOST_CHECK(sm[
"sh600000"] == result[0]->getStock());
70 BOOST_CHECK(sm[
"sz000001"] == result[1]->getStock());
71 BOOST_CHECK(sm[
"sz000002"] == result[2]->getStock());
76 BOOST_CHECK(se2.get() != se.get());
77 result = se2->getSelectedSystemList(Datetime(200001010000L));
78 BOOST_CHECK(result.size() == 3);
79 BOOST_CHECK(sm[
"sh600000"] == result[0]->getStock());
80 BOOST_CHECK(sm[
"sz000001"] == result[1]->getStock());
81 BOOST_CHECK(sm[
"sz000002"] == result[2]->getStock());
BOOST_AUTO_TEST_CASE(test_SE_Fixed)