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 open, high, low, close, amount, count;
34 BOOST_CHECK(open.size() == 0);
35 BOOST_CHECK(open.empty() ==
true);
39 BOOST_CHECK(open.size() == 0);
40 BOOST_CHECK(open.empty() ==
true);
43 BOOST_CHECK(high.size() == 0);
44 BOOST_CHECK(high.empty() ==
true);
47 BOOST_CHECK(low.size() == 0);
48 BOOST_CHECK(low.empty() ==
true);
51 BOOST_CHECK(close.size() == 0);
52 BOOST_CHECK(close.empty() ==
true);
54 amount = TRANSAMOUNT(kdata);
55 BOOST_CHECK(amount.size() == 0);
56 BOOST_CHECK(amount.empty() ==
true);
58 count = TRANSCOUNT(kdata);
59 BOOST_CHECK(count.size() == 0);
60 BOOST_CHECK(count.empty() ==
true);
65 kdata = stock.getKData(query);
66 size_t total = kdata.size();
68 BOOST_CHECK(open.size() == kdata.size());
69 for (
size_t i = 0; i < total; ++i) {
70 BOOST_CHECK(open[i] == kdata[i].openPrice);
74 BOOST_CHECK(high.size() == kdata.size());
75 for (
size_t i = 0; i < total; ++i) {
76 BOOST_CHECK(high[i] == kdata[i].highPrice);
80 BOOST_CHECK(low.size() == kdata.size());
81 for (
size_t i = 0; i < total; ++i) {
82 BOOST_CHECK(low[i] == kdata[i].lowPrice);
86 BOOST_CHECK(close.size() == kdata.size());
87 for (
size_t i = 0; i < total; ++i) {
88 BOOST_CHECK(close[i] == kdata[i].closePrice);
91 amount = TRANSAMOUNT(kdata);
92 BOOST_CHECK(amount.size() == kdata.size());
93 for (
size_t i = 0; i < total; ++i) {
94 BOOST_CHECK(amount[i] == kdata[i].transAmount);
97 count = TRANSCOUNT(kdata);
98 BOOST_CHECK(count.size() == kdata.size());
99 for (
size_t i = 0; i < total; ++i) {
100 BOOST_CHECK(count[i] == kdata[i].transCount);