This source file includes following definitions.
- BOOST_AUTO_TEST_SUITE
- BOOST_AUTO_TEST_CASE_TEMPLATE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include "stdafx.h"
22
23 #define BOOST_TEST_MODULE libjmmcg_tests
24 #include <boost/test/included/unit_test.hpp>
25
26 #include <boost/test/test_case_template.hpp>
27 #include <boost/mpl/list.hpp>
28
29 #include "../exchanges/MIT/BIT/messages.hpp"
30 #include "../exchanges/MIT/JSE/messages.hpp"
31 #include "../exchanges/MIT/LSE/messages.hpp"
32 #include "../exchanges/MIT/OSLO/messages.hpp"
33 #include "../exchanges/MIT/TRQ/messages.hpp"
34
35 typedef boost::mpl::list<
36 isimud::exchanges::MIT::BIT::MsgTypes,
37 isimud::exchanges::MIT::JSE::MsgTypes,
38 isimud::exchanges::MIT::LSE::MsgTypes,
39 isimud::exchanges::MIT::OSLO::MsgTypes,
40 isimud::exchanges::MIT::TRQ::MsgTypes
41 > msg_types;
42
43 BOOST_AUTO_TEST_SUITE(exchanges)
44
45 BOOST_AUTO_TEST_CASE_TEMPLATE(print_details, msg, msg_types) {
46 std::stringstream ss;
47 BOOST_CHECK_NO_THROW(msg::to_stream(ss));
48 BOOST_CHECK(!ss.str().empty());
49 }
50
51 BOOST_AUTO_TEST_CASE_TEMPLATE(ctor, msg, msg_types) {
52 const typename msg::ClientOrderID_t origClientOrderID{"0000000000000000001"};
53 const typename msg::ClientOrderID_t clientOrderID{"0000000000000000001"};
54 const typename msg::SecurityID_t instID(133215);
55 const typename msg::Price_t price(1);
56
57 typename msg::LogonRequest logon(typename msg::LogonRequest::logon_args_t::UserName_t{"user"}, typename msg::LogonRequest::logon_args_t::Password_t{"fubar"}, typename msg::LogonRequest::logon_args_t::Password_t{"snafu"});
58 BOOST_CHECK_EQUAL(logon.start_of_message, 2);
59 BOOST_CHECK_EQUAL(logon.length(), sizeof(typename msg::LogonRequest));
60 BOOST_CHECK_EQUAL(logon.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::AdminMsgType::LogonRequest));
61 BOOST_CHECK_EQUAL(logon.messageVersion, 1);
62 typename msg::LogonReply logonReply;
63 BOOST_CHECK_EQUAL(logonReply.start_of_message, 2);
64 BOOST_CHECK_EQUAL(logonReply.length(), sizeof(typename msg::LogonReply));
65 BOOST_CHECK_EQUAL(logonReply.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::AdminMsgType::LogonReply));
66 typename msg::LogoutRequest logout(isimud::exchanges::MIT::common::Reason_t{'U', 's', 'e', 'r', ' ', 'l', 'o', 'g', 'o', 'u', 't', ' ', 'r', 'e', 'c', 'e', 'i', 'v', 'e', 'd'});
67 BOOST_CHECK_EQUAL(logout.start_of_message, 2);
68 BOOST_CHECK_EQUAL(logout.length(), sizeof(typename msg::Logout));
69 BOOST_CHECK_EQUAL(logout.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::AdminMsgType::LogoutRequest));
70 typename msg::ClientHeartbeat client_heartbeat;
71 BOOST_CHECK_EQUAL(client_heartbeat.start_of_message, 2);
72 BOOST_CHECK_EQUAL(client_heartbeat.length(), sizeof(typename msg::ClientHeartbeat));
73 BOOST_CHECK_EQUAL(client_heartbeat.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::AdminMsgType::Heartbeat));
74 typename msg::ServerHeartbeat server_heartbeat;
75 BOOST_CHECK_EQUAL(server_heartbeat.start_of_message, 2);
76 BOOST_CHECK_EQUAL(server_heartbeat.length(), sizeof(typename msg::ServerHeartbeat));
77 BOOST_CHECK_EQUAL(server_heartbeat.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::AdminMsgType::Heartbeat));
78 typename msg::MissedMessageRequest missedMessageRequest(isimud::exchanges::MIT::common::AppID::Partition1, 0);
79 BOOST_CHECK_EQUAL(missedMessageRequest.start_of_message, 2);
80 BOOST_CHECK_EQUAL(missedMessageRequest.length(), sizeof(typename msg::MissedMessageRequest));
81 BOOST_CHECK_EQUAL(missedMessageRequest.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::AdminMsgType::MissedMessageRequest));
82 typename msg::MissedMessageRequestAck missedMessageRequestAck;
83 BOOST_CHECK_EQUAL(missedMessageRequestAck.start_of_message, 2);
84 BOOST_CHECK_EQUAL(missedMessageRequestAck.length(), sizeof(typename msg::MissedMessageRequestAck));
85 BOOST_CHECK_EQUAL(missedMessageRequestAck.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::AdminMsgType::MissedMessageRequestAck));
86 typename msg::MissedMessageReport missedMessageReport;
87 BOOST_CHECK_EQUAL(missedMessageReport.start_of_message, 2);
88 BOOST_CHECK_EQUAL(missedMessageReport.length(), sizeof(typename msg::MissedMessageReport));
89 BOOST_CHECK_EQUAL(missedMessageReport.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::AdminMsgType::MissedMessageReport));
90 typename msg::Reject reject;
91 BOOST_CHECK_EQUAL(reject.start_of_message, 2);
92 BOOST_CHECK_EQUAL(reject.length(), sizeof(typename msg::Reject));
93 BOOST_CHECK_EQUAL(reject.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::AdminMsgType::Reject));
94 typename msg::SystemStatus systemStatus;
95 BOOST_CHECK_EQUAL(systemStatus.start_of_message, 2);
96 BOOST_CHECK_EQUAL(systemStatus.length(), sizeof(typename msg::SystemStatus));
97 BOOST_CHECK_EQUAL(systemStatus.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::AdminMsgType::SystemStatus));
98 typename msg::NewOrder newOrder(clientOrderID, isimud::exchanges::MIT::common::OrderType::Market, isimud::exchanges::MIT::common::TIF::Day, isimud::exchanges::MIT::common::Side::Buy, instID, int32_t(), price);
99 BOOST_CHECK_EQUAL(newOrder.start_of_message, 2);
100 BOOST_CHECK_EQUAL(newOrder.length(), sizeof(typename msg::NewOrder));
101 BOOST_CHECK_EQUAL(newOrder.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::ClientMsgType::NewOrder));
102 typename msg::OrderCancelReplaceRequest orderCancelReplaceRequest(clientOrderID, origClientOrderID, instID, int32_t(), price, isimud::exchanges::MIT::common::TIF::Day, isimud::exchanges::MIT::common::Side::Buy);
103 BOOST_CHECK_EQUAL(orderCancelReplaceRequest.start_of_message, 2);
104 BOOST_CHECK_EQUAL(orderCancelReplaceRequest.length(), sizeof(typename msg::OrderCancelReplaceRequest));
105 BOOST_CHECK_EQUAL(orderCancelReplaceRequest.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::ClientMsgType::OrderCancelReplaceRequest));
106 typename msg::OrderCancelRequest orderCancelRequest(clientOrderID, clientOrderID, instID, isimud::exchanges::MIT::common::Side::Buy);
107 BOOST_CHECK_EQUAL(orderCancelRequest.start_of_message, 2);
108 BOOST_CHECK_EQUAL(orderCancelRequest.length(), sizeof(typename msg::OrderCancelRequest));
109 BOOST_CHECK_EQUAL(orderCancelRequest.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::ClientMsgType::OrderCancelRequest));
110 typename msg::OrderMassCancelRequest orderMassCancelRequest(instID);
111 BOOST_CHECK_EQUAL(orderMassCancelRequest.start_of_message, 2);
112 BOOST_CHECK_EQUAL(orderMassCancelRequest.length(), sizeof(typename msg::OrderMassCancelRequest));
113 BOOST_CHECK_EQUAL(orderMassCancelRequest.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::ClientMsgType::OrderMassCancelRequest));
114 typename msg::ExecutionReport executionReport;
115 BOOST_CHECK_EQUAL(executionReport.start_of_message, 2);
116 BOOST_CHECK_EQUAL(executionReport.length(), sizeof(typename msg::ExecutionReport));
117 BOOST_CHECK_EQUAL(executionReport.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::ServerMsgType::ExecutionReport));
118 typename msg::OrderCancelReject orderCancelReject;
119 BOOST_CHECK_EQUAL(orderCancelReject.start_of_message, 2);
120 BOOST_CHECK_EQUAL(orderCancelReject.length(), sizeof(typename msg::OrderCancelReject));
121 BOOST_CHECK_EQUAL(orderCancelReject.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::ServerMsgType::OrderCancelReject));
122 typename msg::OrderMassCancelReport orderMassCancelReport;
123 BOOST_CHECK_EQUAL(orderMassCancelReport.start_of_message, 2);
124 BOOST_CHECK_EQUAL(orderMassCancelReport.length(), sizeof(typename msg::OrderMassCancelReport));
125 BOOST_CHECK_EQUAL(orderMassCancelReport.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::ServerMsgType::OrderMassCancelReport));
126 typename msg::BusinessReject businessReject;
127 BOOST_CHECK_EQUAL(businessReject.start_of_message, 2);
128 BOOST_CHECK_EQUAL(businessReject.length(), sizeof(typename msg::BusinessReject));
129 BOOST_CHECK_EQUAL(businessReject.type(), static_cast<isimud::exchanges::MIT::common::MsgType_t>(isimud::exchanges::MIT::common::ServerMsgType::BusinessMessageReject));
130 }
131
132 BOOST_AUTO_TEST_SUITE_END()