JayBeams  0.1
Another project to have fun coding.
ut_check_offset.cpp
Go to the documentation of this file.
1 #include <jb/itch5/decoder.hpp>
2 
3 #include <boost/test/unit_test.hpp>
4 
5 /**
6  * @test Verify that buffer size validation works as expected.
7  */
8 BOOST_AUTO_TEST_CASE(check_offset_disabled) {
10  BOOST_CHECK_NO_THROW(check_offset<false>("test", 4, 2, 1));
11  BOOST_CHECK_NO_THROW(check_offset<false>("test", 4, 2, 2));
12  BOOST_CHECK_NO_THROW(check_offset<false>("test", 4, 0, 4));
13  BOOST_CHECK_NO_THROW(check_offset<false>("test", 4, 0, 8));
14  BOOST_CHECK_NO_THROW(check_offset<false>("test", 4, 2, 3));
15  BOOST_CHECK_NO_THROW(check_offset<false>("test", 4, 4, 1));
16  BOOST_CHECK_NO_THROW(check_offset<false>("test", 4, 4, 0));
17 }
18 
19 /**
20  * @test Verify that buffer size validation works as expected.
21  */
22 BOOST_AUTO_TEST_CASE(check_offset_enabled) {
24  BOOST_CHECK_NO_THROW(check_offset<true>("test", 4, 2, 1));
25  BOOST_CHECK_NO_THROW(check_offset<true>("test", 4, 2, 2));
26  BOOST_CHECK_NO_THROW(check_offset<true>("test", 4, 0, 4));
27  BOOST_CHECK_THROW(check_offset<true>("test", 4, 0, 8), std::runtime_error);
28  BOOST_CHECK_THROW(check_offset<true>("test", 4, 2, 3), std::runtime_error);
29  BOOST_CHECK_THROW(check_offset<true>("test", 4, 4, 1), std::runtime_error);
30  BOOST_CHECK_THROW(check_offset<true>("test", 4, 4, 0), std::runtime_error);
31 }
BOOST_AUTO_TEST_CASE(check_offset_disabled)
void check_offset(char const *msg, std::size_t size, std::size_t offset, std::size_t n)
Verify that an offset and field length is valid (generic version).
void check_offset< true >(char const *msg, std::size_t size, std::size_t offset, std::size_t n)
A version of jb::itch5::check_offset<> that actually validates.
Definition: check_offset.cpp:7