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/KDATA.h> 28 StockManager& sm = StockManager::instance();
29 Stock stock = sm.getStock(
"sh000001");
33 Indicator ki, open, high, low, close, amount, count;
34 BOOST_CHECK(open.size() == 0);
35 BOOST_CHECK(open.empty() ==
true);
39 BOOST_CHECK(ki.size() == 0);
40 BOOST_CHECK(ki.empty() ==
true);
43 BOOST_CHECK(open.size() == 0);
44 BOOST_CHECK(open.empty() ==
true);
47 BOOST_CHECK(high.size() == 0);
48 BOOST_CHECK(high.empty() ==
true);
51 BOOST_CHECK(low.size() == 0);
52 BOOST_CHECK(low.empty() ==
true);
55 BOOST_CHECK(close.size() == 0);
56 BOOST_CHECK(close.empty() ==
true);
59 BOOST_CHECK(amount.size() == 0);
60 BOOST_CHECK(amount.empty() ==
true);
63 BOOST_CHECK(count.size() == 0);
64 BOOST_CHECK(count.empty() ==
true);
69 kdata = stock.getKData(query);
70 size_t total = kdata.size();
73 BOOST_CHECK(ki.size() == kdata.size());
74 for (
size_t i = 0; i < total; ++i) {
75 BOOST_CHECK(ki.get(i, 0) == kdata[i].openPrice);
76 BOOST_CHECK(ki.get(i, 1) == kdata[i].highPrice);
77 BOOST_CHECK(ki.get(i, 2) == kdata[i].lowPrice);
78 BOOST_CHECK(ki.get(i, 3) == kdata[i].closePrice);
79 BOOST_CHECK(ki.get(i, 4) == kdata[i].transAmount);
80 BOOST_CHECK(ki.get(i, 5) == kdata[i].transCount);
84 BOOST_CHECK(open.size() == kdata.size());
85 for (
size_t i = 0; i < total; ++i) {
86 BOOST_CHECK(open[i] == kdata[i].openPrice);
90 BOOST_CHECK(high.size() == kdata.size());
91 for (
size_t i = 0; i < total; ++i) {
92 BOOST_CHECK(high[i] == kdata[i].highPrice);
96 BOOST_CHECK(low.size() == kdata.size());
97 for (
size_t i = 0; i < total; ++i) {
98 BOOST_CHECK(low[i] == kdata[i].lowPrice);
101 close = CLOSE(kdata);
102 BOOST_CHECK(close.size() == kdata.size());
103 for (
size_t i = 0; i < total; ++i) {
104 BOOST_CHECK(close[i] == kdata[i].closePrice);
108 BOOST_CHECK(amount.size() == kdata.size());
109 for (
size_t i = 0; i < total; ++i) {
110 BOOST_CHECK(amount[i] == kdata[i].transAmount);
114 BOOST_CHECK(count.size() == kdata.size());
115 for (
size_t i = 0; i < total; ++i) {
116 BOOST_CHECK(count[i] == kdata[i].transCount);
BOOST_AUTO_TEST_CASE(test_IKData)