root/isimud/tests/mit_basic.cpp

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. BOOST_AUTO_TEST_SUITE
  2. BOOST_AUTO_TEST_CASE_TEMPLATE

   1 /******************************************************************************

   2 ** $Header: svn+ssh://jmmcg@svn.code.sf.net/p/libjmmcg/code/trunk/libjmmcg/isimud/tests/mit_basic.cpp 2318 2018-08-31 07:51:49Z jmmcg $

   3 **

   4 ** Copyright © 2015 by J.M.McGuiness, coder@hussar.me.uk

   5 **

   6 ** This library is free software; you can redistribute it and/or

   7 ** modify it under the terms of the GNU Lesser General Public

   8 ** License as published by the Free Software Foundation; either

   9 ** version 2.1 of the License, or (at your option) any later version.

  10 **

  11 ** This library is distributed in the hope that it will be useful,

  12 ** but WITHOUT ANY WARRANTY; without even the implied warranty of

  13 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU

  14 ** Lesser General Public License for more details.

  15 **

  16 ** You should have received a copy of the GNU Lesser General Public

  17 ** License along with this library; if not, write to the Free Software

  18 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

  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()

/* [<][>][^][v][top][bottom][index][help] */