Toolbox
snapshot
The Reactive C++ Toolbox
Loading...
Searching...
No Matches
toolbox
util
Exception.ut.cpp
Go to the documentation of this file.
1
// The Reactive C++ Toolbox.
2
// Copyright (C) 2013-2019 Swirly Cloud Limited
3
// Copyright (C) 2021 Reactive Markets Limited
4
//
5
// Licensed under the Apache License, Version 2.0 (the "License");
6
// you may not use this file except in compliance with the License.
7
// You may obtain a copy of the License at
8
//
9
// http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing, software
12
// distributed under the License is distributed on an "AS IS" BASIS,
13
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
// See the License for the specific language governing permissions and
15
// limitations under the License.
16
17
#include "
Exception.hpp
"
18
19
#include <boost/test/unit_test.hpp>
20
21
using namespace
toolbox
;
22
23
BOOST_AUTO_TEST_SUITE
(
ExceptionSuite
)
24
25
BOOST_AUTO_TEST_CASE
(
ExceptionCase
)
26
{
27
const
auto
ec
= std::make_error_code(std::errc::invalid_argument);
28
const
Exception
e{
ec
,
"cannot send message"
};
29
BOOST_CHECK_EQUAL
(e.what(),
"cannot send message"
);
30
BOOST_CHECK_EQUAL
(e.code(),
ec
);
31
std::stringstream
ss
;
32
ss
<<
put_with_code
(e);
33
BOOST_CHECK_EQUAL
(
ss
.str(),
"cannot send message (22)"
);
34
}
35
36
BOOST_AUTO_TEST_CASE
(
ExceptionToJsonCase
)
37
{
38
const
auto
ec
= std::make_error_code(std::errc::invalid_argument);
39
const
Exception
e{
ec
,
"cannot send message"
};
40
41
std::stringstream
ss
;
42
ss
<<
put_as_json
(e);
43
44
BOOST_CHECK_EQUAL
(
ss
.str(),
//
45
"{\"code\":22"
46
",\"message\":\"cannot send message\""
47
"}"
);
48
}
49
50
BOOST_AUTO_TEST_SUITE_END
()
BOOST_AUTO_TEST_CASE
BOOST_AUTO_TEST_CASE(ExceptionCase)
Definition
Exception.ut.cpp:25
BOOST_CHECK_EQUAL
BOOST_CHECK_EQUAL(v.size(), 10U)
toolbox::util::put_as_json
auto put_as_json(const ExceptionT &e)
Definition
Exception.hpp:100
toolbox::util::put_with_code
auto put_with_code(const ExceptionT &e)
Definition
Exception.hpp:106
toolbox::util::bind
constexpr auto bind() noexcept
Definition
Slot.hpp:92
toolbox
Definition
Benchmark.cpp:26
toolbox::Exception
Definition
Exception.hpp:26
Exception.hpp
Generated by
1.9.8