JayBeams  0.1
Another project to have fun coding.
ut_order_replace_message.cpp
Go to the documentation of this file.
3 
4 #include <boost/test/unit_test.hpp>
5 
6 /**
7  * @test Verify that the jb::itch5::order_replace_message decoder works
8  * as expected.
9  */
10 BOOST_AUTO_TEST_CASE(decode_order_replace_message) {
11  using namespace jb::itch5;
12  using namespace std::chrono;
13 
16 
17  auto x = decoder<true, order_replace_message>::r(buf.second, buf.first, 0);
18  BOOST_CHECK_EQUAL(x.header.message_type, order_replace_message::message_type);
19  BOOST_CHECK_EQUAL(x.header.stock_locate, 0);
20  BOOST_CHECK_EQUAL(x.header.tracking_number, 1);
21  BOOST_CHECK_EQUAL(x.header.timestamp.ts.count(), expected_ts.count());
22  BOOST_CHECK_EQUAL(x.original_order_reference_number, 42ULL);
23  BOOST_CHECK_EQUAL(x.new_order_reference_number, 4242ULL);
24  BOOST_CHECK_EQUAL(x.shares, 100);
25  BOOST_CHECK_EQUAL(x.price, price4_t(2340600));
26 
27  x = decoder<false, order_replace_message>::r(buf.second, buf.first, 0);
28  BOOST_CHECK_EQUAL(x.header.message_type, order_replace_message::message_type);
29  BOOST_CHECK_EQUAL(x.header.stock_locate, 0);
30  BOOST_CHECK_EQUAL(x.header.tracking_number, 1);
31  BOOST_CHECK_EQUAL(x.header.timestamp.ts.count(), expected_ts.count());
32  BOOST_CHECK_EQUAL(x.original_order_reference_number, 42ULL);
33  BOOST_CHECK_EQUAL(x.new_order_reference_number, 4242ULL);
34  BOOST_CHECK_EQUAL(x.shares, 100);
35  BOOST_CHECK_EQUAL(x.price, price4_t(2340600));
36 }
37 
38 /**
39  * @test Verify that jb::itch5::order_replace_message iostream
40  * operator works as expected.
41  */
42 BOOST_AUTO_TEST_CASE(stream_order_replace_message) {
43  using namespace std::chrono;
44  using namespace jb::itch5;
45 
47  auto tmp = decoder<false, order_replace_message>::r(buf.second, buf.first, 0);
48  std::ostringstream os;
49  os << tmp;
50  BOOST_CHECK_EQUAL(
51  os.str(), "message_type=U,stock_locate=0"
52  ",tracking_number=1,timestamp=113231.123456789"
53  ",original_order_reference_number=42"
54  ",new_order_reference_number=4242"
55  ",shares=100"
56  ",price=234.0600");
57 }
std::pair< char const *, std::size_t > order_replace()
Definition: data.cpp:203
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_order_replace_message)
std::chrono::nanoseconds expected_ts()
Return the expected timestamp for all the test messages.
Definition: data.cpp:19