4 #include <boost/test/unit_test.hpp> 12 using namespace std::chrono;
16 auto expected_release =
17 duration_cast<seconds>(hours(13) + minutes(43) + seconds(25));
20 buf.second, buf.first, 0);
23 BOOST_CHECK_EQUAL(x.header.stock_locate, 0);
24 BOOST_CHECK_EQUAL(x.header.tracking_number, 1);
25 BOOST_CHECK_EQUAL(x.header.timestamp.ts.count(),
expected_ts.count());
26 BOOST_CHECK_EQUAL(x.stock,
"HSART");
28 x.ipo_quotation_release_time.seconds().count(), expected_release.count());
29 BOOST_CHECK_EQUAL(x.ipo_quotation_release_qualifier, u
'A');
30 BOOST_CHECK_EQUAL(x.ipo_price,
price4_t(1230500));
33 buf.second, buf.first, 0);
36 BOOST_CHECK_EQUAL(x.header.stock_locate, 0);
37 BOOST_CHECK_EQUAL(x.header.tracking_number, 1);
38 BOOST_CHECK_EQUAL(x.header.timestamp.ts.count(),
expected_ts.count());
39 BOOST_CHECK_EQUAL(x.stock,
"HSART");
41 x.ipo_quotation_release_time.seconds().count(), expected_release.count());
42 BOOST_CHECK_EQUAL(x.ipo_quotation_release_qualifier, u
'A');
43 BOOST_CHECK_EQUAL(x.ipo_price,
price4_t(1230500));
51 using namespace std::chrono;
56 buf.second, buf.first, 0);
57 std::ostringstream os;
60 os.str(),
"message_type=K,stock_locate=0" 61 ",tracking_number=1,timestamp=113231.123456789" 63 ",ipo_quotation_release_time=13:43:25" 64 ",ipo_quotation_release_qualifier=A" 65 ",ipo_price=123.0500");
static T r(std::size_t size, void const *msg, std::size_t offset)
Read a single message or field.
Contains classes and functions to parse NASDAQ ITCH-5.0 messages, more information about ITCH-5...
BOOST_AUTO_TEST_CASE(decode_ipo_quoting_period_update_message)
std::chrono::nanoseconds expected_ts()
Return the expected timestamp for all the test messages.
std::pair< char const *, std::size_t > ipo_quoting_period_update()
char_list_field< u 'A', u 'C'> ipo_quotation_release_qualifier_t
Represent the 'IPO Quotation Release Qualifier' field on a 'IPO Quoting Period Update' message...
static constexpr int message_type