9 #include <boost/test/unit_test.hpp> 11 #define BOOST_TEST_MODULE test_hikyuu_base 12 #include <boost/test/unit_test.hpp> 15 #include <hikyuu/StockManager.h> 16 #include <hikyuu/Stock.h> 28 StockManager& sm = StockManager::instance();
29 Stock stock = sm[
"sz000001"];
35 result = stock.getTransList(query);
36 BOOST_CHECK(result.size() == 0);
39 query = KQuery(-1, -1);
40 result = stock.getTransList(query);
41 BOOST_CHECK(result.size() == 0);
44 query = KQuery(-1, -1);
45 result = stock.getTransList(query);
46 BOOST_CHECK(result.size() == 0);
50 result = stock.getTransList(query);
51 BOOST_CHECK(result.size() == 2);
52 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,1,9,30,2), 11.21, 1339, TransRecord::BUY));
53 BOOST_CHECK(result[1] == TransRecord(Datetime(2019,2,1,9,30,5), 11.21, 5263, TransRecord::BUY));
56 query = KQuery(-3, -1);
57 result = stock.getTransList(query);
58 BOOST_CHECK(result.size() == 2);
59 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,11,14,56,59), 11.20, 210, TransRecord::SELL));
60 BOOST_CHECK(result[1] == TransRecord(Datetime(2019,2,11,14,57,2), 11.20, 31, TransRecord::SELL));
63 query = KQuery(-3, 0);
64 result = stock.getTransList(query);
65 BOOST_CHECK(result.size() == 0);
69 result = stock.getTransList(query);
70 BOOST_CHECK(result.size() == 8884);
71 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,1,9,25,2), 11.20, 15714, TransRecord::AUCTION));
72 BOOST_CHECK(result[563] == TransRecord(Datetime(2019,2,1,9,58,47), 11.04, 91, TransRecord::BUY));
73 BOOST_CHECK(result[8883] == TransRecord(Datetime(2019,2,11,15,0,0), 11.21, 5794, TransRecord::AUCTION));
77 result = stock.getTransList(query);
78 BOOST_CHECK(result.size() == 3);
79 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,11,14,56,59), 11.20, 210, TransRecord::SELL));
80 BOOST_CHECK(result[1] == TransRecord(Datetime(2019,2,11,14,57,2), 11.20, 31, TransRecord::SELL));
81 BOOST_CHECK(result[2] == TransRecord(Datetime(2019,2,11,15,0,0), 11.21, 5794, TransRecord::AUCTION));
84 result = stock.getTransList(query);
85 BOOST_CHECK(result.size() == 3);
86 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,11,14,56,59), 11.20, 210, TransRecord::SELL));
87 BOOST_CHECK(result[1] == TransRecord(Datetime(2019,2,11,14,57,2), 11.20, 31, TransRecord::SELL));
88 BOOST_CHECK(result[2] == TransRecord(Datetime(2019,2,11,15,0,0), 11.21, 5794, TransRecord::AUCTION));
91 query = KQuery(8881, 8884);
92 result = stock.getTransList(query);
93 BOOST_CHECK(result.size() == 3);
94 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,11,14,56,59), 11.20, 210, TransRecord::SELL));
95 BOOST_CHECK(result[1] == TransRecord(Datetime(2019,2,11,14,57,2), 11.20, 31, TransRecord::SELL));
96 BOOST_CHECK(result[2] == TransRecord(Datetime(2019,2,11,15,0,0), 11.21, 5794, TransRecord::AUCTION));
99 query = KQuery(8881, 8883);
100 result = stock.getTransList(query);
101 BOOST_CHECK(result.size() == 2);
102 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,11,14,56,59), 11.20, 210, TransRecord::SELL));
103 BOOST_CHECK(result[1] == TransRecord(Datetime(2019,2,11,14,57,2), 11.20, 31, TransRecord::SELL));
106 query = KQuery(8881, 8885);
107 result = stock.getTransList(query);
108 BOOST_CHECK(result.size() == 3);
109 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,11,14,56,59), 11.20, 210, TransRecord::SELL));
110 BOOST_CHECK(result[1] == TransRecord(Datetime(2019,2,11,14,57,2), 11.20, 31, TransRecord::SELL));
111 BOOST_CHECK(result[2] == TransRecord(Datetime(2019,2,11,15,0,0), 11.21, 5794, TransRecord::AUCTION));
114 query = KQuery(8884);
115 result = stock.getTransList(query);
116 BOOST_CHECK(result.size() == 0);
119 query = KQuery(8883);
120 result = stock.getTransList(query);
121 BOOST_CHECK(result.size() == 1);
122 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,11,15,0,0), 11.21, 5794, TransRecord::AUCTION));
125 query = KQuery(8885);
126 result = stock.getTransList(query);
127 BOOST_CHECK(result.size() == 0);
131 query = KQuery(8881, -1);
132 result = stock.getTransList(query);
133 BOOST_CHECK(result.size() == 2);
134 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,11,14,56,59), 11.20, 210, TransRecord::SELL));
135 BOOST_CHECK(result[1] == TransRecord(Datetime(2019,2,11,14,57,2), 11.20, 31, TransRecord::SELL));
138 query = KQuery(-3, 8883);
139 result = stock.getTransList(query);
140 BOOST_CHECK(result.size() == 2);
141 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,11,14,56,59), 11.20, 210, TransRecord::SELL));
142 BOOST_CHECK(result[1] == TransRecord(Datetime(2019,2,11,14,57,2), 11.20, 31, TransRecord::SELL));
148 StockManager& sm = StockManager::instance();
149 Stock stock = sm[
"sz000001"];
154 query = KQueryByDate(Datetime(201812030000));
155 result = stock.getTransList(query);
156 BOOST_CHECK(result.size() == 8884);
157 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,1,9,25,2), 11.20, 15714, TransRecord::AUCTION));
158 BOOST_CHECK(result[563] == TransRecord(Datetime(2019,2,1,9,58,47), 11.04, 91, TransRecord::BUY));
159 BOOST_CHECK(result[8883] == TransRecord(Datetime(2019,2,11,15,0,0), 11.21, 5794, TransRecord::AUCTION));
162 query = KQueryByDate(Datetime(2019,2,1,9,25,2));
163 result = stock.getTransList(query);
164 BOOST_CHECK(result.size() == 8884);
165 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,1,9,25,2), 11.20, 15714, TransRecord::AUCTION));
166 BOOST_CHECK(result[563] == TransRecord(Datetime(2019,2,1,9,58,47), 11.04, 91, TransRecord::BUY));
167 BOOST_CHECK(result[8883] == TransRecord(Datetime(2019,2,11,15,0,0), 11.21, 5794, TransRecord::AUCTION));
171 query = KQueryByDate(Datetime(2019,2,11,14,56,59));
172 result = stock.getTransList(query);
173 BOOST_CHECK(result.size() == 3);
174 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,11,14,56,59), 11.20, 210, TransRecord::SELL));
175 BOOST_CHECK(result[1] == TransRecord(Datetime(2019,2,11,14,57,2), 11.20, 31, TransRecord::SELL));
176 BOOST_CHECK(result[2] == TransRecord(Datetime(2019,2,11,15,0,0), 11.21, 5794, TransRecord::AUCTION));
179 query = KQueryByDate(Datetime(2019,2,11,14,56,59), Datetime(2019,2,11,14,56,59));
180 result = stock.getTransList(query);
181 BOOST_CHECK(result.size() == 0);
184 query = KQueryByDate(Datetime(2019,2,11,14,56,59),
185 Datetime(2019,2,11,15,0,0));
186 result = stock.getTransList(query);
187 BOOST_CHECK(result.size() == 2);
188 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,11,14,56,59), 11.20, 210, TransRecord::SELL));
189 BOOST_CHECK(result[1] == TransRecord(Datetime(2019,2,11,14,57,2), 11.20, 31, TransRecord::SELL));
192 query = KQueryByDate(Datetime(2019,2,11,14,56,59),
193 Datetime(201902120000));
194 result = stock.getTransList(query);
195 BOOST_CHECK(result.size() == 3);
196 BOOST_CHECK(result[0] == TransRecord(Datetime(2019,2,11,14,56,59), 11.20, 210, TransRecord::SELL));
197 BOOST_CHECK(result[1] == TransRecord(Datetime(2019,2,11,14,57,2), 11.20, 31, TransRecord::SELL));
198 BOOST_CHECK(result[2] == TransRecord(Datetime(2019,2,11,15,0,0), 11.21, 5794, TransRecord::AUCTION));
BOOST_AUTO_TEST_CASE(test_TransList_query_by_index)