9 #include <boost/test/unit_test.hpp> 11 #define BOOST_TEST_MODULE test_hikyuu_indicator_suite 12 #include <boost/test/unit_test.hpp> 15 #include <hikyuu/StockManager.h> 16 #include <hikyuu/indicator/crt/PRICELIST.h> 17 #include <hikyuu/indicator/crt/KDATA.h> 18 #include <hikyuu/indicator/crt/MA.h> 34 result = PRICELIST(tmp_list);
35 BOOST_CHECK(result.size() == tmp_list.size());
36 BOOST_CHECK(result.empty() ==
true);
39 for (
size_t i = 0; i < 10; ++i) {
40 tmp_list.push_back(i);
42 result = PRICELIST(tmp_list);
43 BOOST_CHECK(result.size() == tmp_list.size());
44 BOOST_CHECK(result.empty() ==
false);
45 for (
size_t i = 0; i < 10; ++i) {
46 BOOST_CHECK(result[i] == tmp_list[i]);
50 price_t *p_tmp = NULL;
51 result = PRICELIST(p_tmp, 10);
52 BOOST_CHECK(result.size() == 0);
53 BOOST_CHECK(result.empty() ==
true);
57 for (
size_t i = 0; i < 10; ++i) {
60 result = PRICELIST(tmp, 10);
61 for (
size_t i = 0; i < 10; ++i) {
62 BOOST_CHECK(result[i] == tmp[i]);
66 result = PRICELIST(tmp_list);
67 BOOST_CHECK(result.size() == 10);
68 for (
size_t i = 0; i < 10; ++i) {
69 BOOST_CHECK(result[i] == tmp_list[i]);
73 result = PRICELIST(tmp_list, 1);
74 BOOST_CHECK(result.size() == 10);
75 BOOST_CHECK(result.discard() == 1);
76 BOOST_CHECK(result[0] == Null<price_t>());
77 for (
size_t i = 1; i < 10; ++i) {
78 BOOST_CHECK(result[i] == tmp_list[i]);
82 result = PRICELIST(Indicator());
83 BOOST_CHECK(result.size() == 0);
86 StockManager& sm = StockManager::instance();
87 Stock stock = sm.getStock(
"sh000001");
89 KData kdata = stock.getKData(query);
90 Indicator ikdata = KDATA(kdata);
91 result = PRICELIST(ikdata);
92 BOOST_CHECK(result.size() == ikdata.size());
93 BOOST_CHECK(result.discard() == ikdata.discard());
94 for (
size_t i = 0; i < result.size(); ++i) {
95 BOOST_CHECK(result[i] == ikdata[i]);
99 result = PRICELIST(ikdata, 1);
100 BOOST_CHECK(result.size() == ikdata.size());
101 BOOST_CHECK(result.discard() == ikdata.discard());
102 for (
size_t i = 0; i < result.size(); ++i) {
103 BOOST_CHECK(result[i] == ikdata.get(i, 1));
BOOST_AUTO_TEST_CASE(test_PRICELIST)