JayBeams  0.1
Another project to have fun coding.
Classes | Namespaces | Functions | Variables
ut_compute_book.cpp File Reference
#include <jb/itch5/compute_book.hpp>
#include <jb/itch5/testing/data.hpp>
#include <jb/itch5/testing/messages.hpp>
#include <jb/itch5/trade_message.hpp>
#include <jb/as_hhmmss.hpp>
#include <jb/gmock/init.hpp>
#include <boost/test/unit_test.hpp>
#include <algorithm>
#include <thread>

Go to the source code of this file.

Classes

struct  jb::itch5::testing::mock_book_callback
 

Namespaces

 jb
 The top-level namespace for the JayBeams library.
 
 jb::itch5
 Contains classes and functions to parse NASDAQ ITCH-5.0 messages, more information about ITCH-5.0 can be found at: http://www.nasdaqtrader.com/content/technicalsupport/specifications/dataproducts/NQTVITCHSpecification.pdf.
 
 jb::itch5::testing
 Functions used in testing jb::itch5 entities.
 

Functions

template<typename based_order_book >
void jb::itch5::testing::test_compute_book_add_order_message_buy ()
 Test compute book based on book type. More...
 
template<typename based_order_book >
void jb::itch5::testing::test_compute_book_add_order_message_sell ()
 Test compute book based on book type. More...
 
template<typename based_order_book >
void jb::itch5::testing::test_compute_book_increase_coverage ()
 Test compute book increase coverage. More...
 
template<typename based_order_book >
void jb::itch5::testing::test_compute_book_edge_cases ()
 Test compute book edge cases. More...
 
template<typename based_order_book >
void jb::itch5::testing::test_compute_book_reduction_edge_cases ()
 Test compute book reduction edge cases. More...
 
template<typename based_order_book >
void jb::itch5::testing::test_compute_book_replace_edge_cases ()
 Test compute book replace edge cases. More...
 
template<typename based_order_book >
void jb::itch5::testing::test_compute_book_order_executed_message ()
 Test compute book order execute message. More...
 
template<typename based_order_book >
void jb::itch5::testing::test_compute_book_order_replace_message ()
 Test compute book order replace message. More...
 
template<typename based_order_book >
void jb::itch5::testing::test_compute_book_order_cancel_message ()
 Test compute book order cancel message. More...
 
template<typename based_order_book >
void jb::itch5::testing::test_compute_book_stock_directory_message ()
 Test compute book stock directory message. More...
 
 BOOST_AUTO_TEST_CASE (compute_book_add_order_message)
 
 BOOST_AUTO_TEST_CASE (compute_book_increase_coverage)
 
 BOOST_AUTO_TEST_CASE (compute_book_add_order_message_edge_cases)
 
 BOOST_AUTO_TEST_CASE (compute_book_reduction_edge_cases)
 
 BOOST_AUTO_TEST_CASE (compute_book_replace_edge_cases)
 
 BOOST_AUTO_TEST_CASE (compute_book_order_executed_message)
 
 BOOST_AUTO_TEST_CASE (compute_book_order_replace_message)
 
 BOOST_AUTO_TEST_CASE (compute_book_order_cancel_message)
 
 BOOST_AUTO_TEST_CASE (compute_book_stock_directory_message)
 
 BOOST_AUTO_TEST_CASE (compute_book_book_update_operators)
 

Variables

buy_sell_indicator_t const jb::itch5::testing::BUY (u 'B')
 
buy_sell_indicator_t const jb::itch5::testing::SELL (u 'S')
 

Function Documentation

◆ BOOST_AUTO_TEST_CASE() [1/10]

BOOST_AUTO_TEST_CASE ( compute_book_add_order_message  )
Test:
Verify compute book handle_message works as expected for add_order_message.

Definition at line 946 of file ut_compute_book.cpp.

◆ BOOST_AUTO_TEST_CASE() [2/10]

BOOST_AUTO_TEST_CASE ( compute_book_increase_coverage  )
Test:
Increase code coverage in jb::itch5::compute_book

Definition at line 959 of file ut_compute_book.cpp.

◆ BOOST_AUTO_TEST_CASE() [3/10]

BOOST_AUTO_TEST_CASE ( compute_book_add_order_message_edge_cases  )
Test:
Increase code coverage in jb::itch5::compute_book::handle_message for add_order_message.

Definition at line 970 of file ut_compute_book.cpp.

◆ BOOST_AUTO_TEST_CASE() [4/10]

BOOST_AUTO_TEST_CASE ( compute_book_reduction_edge_cases  )
Test:
Increase code coverage in jb::itch5::compute_book::handle_order_reduction

Definition at line 981 of file ut_compute_book.cpp.

◆ BOOST_AUTO_TEST_CASE() [5/10]

BOOST_AUTO_TEST_CASE ( compute_book_replace_edge_cases  )
Test:
Increase code coverage for order_replace_message

Definition at line 991 of file ut_compute_book.cpp.

◆ BOOST_AUTO_TEST_CASE() [6/10]

BOOST_AUTO_TEST_CASE ( compute_book_order_executed_message  )
Test:
Verify that jb::itch5::compute_book::handle_message works as expected for order_executed_message BUY & SELL.

Definition at line 1002 of file ut_compute_book.cpp.

◆ BOOST_AUTO_TEST_CASE() [7/10]

BOOST_AUTO_TEST_CASE ( compute_book_order_replace_message  )
Test:
Verify that jb::itch5::compute_book::handle_message works as expected for order_replace_message BUY & SELL.

Definition at line 1013 of file ut_compute_book.cpp.

◆ BOOST_AUTO_TEST_CASE() [8/10]

BOOST_AUTO_TEST_CASE ( compute_book_order_cancel_message  )
Test:
Verify that jb::itch5::compute_book::handle_message works as expected for order_cancel_message and order_delete_message, both sides.

Definition at line 1024 of file ut_compute_book.cpp.

◆ BOOST_AUTO_TEST_CASE() [9/10]

BOOST_AUTO_TEST_CASE ( compute_book_stock_directory_message  )
Test:
Verify that jb::itch5::compute_book::handle_message works as expected for stock_directory_message.

Definition at line 1035 of file ut_compute_book.cpp.

◆ BOOST_AUTO_TEST_CASE() [10/10]

BOOST_AUTO_TEST_CASE ( compute_book_book_update_operators  )
Test:
Verify that jb::itch5::book_update operators work as expected.

Definition at line 1046 of file ut_compute_book.cpp.

References jb::itch5::testing::BUY, and jb::itch5::testing::SELL.