Main Page
Namespaces
Classes
Files
File List
File Members
test
src
test_mcl_3dl_compat_incompatible.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018, the mcl_3dl authors
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
*
8
* * Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* * Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
* * Neither the name of the copyright holder nor the names of its
14
* contributors may be used to endorse or promote products derived from
15
* this software without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
* POSSIBILITY OF SUCH DAMAGE.
28
*/
29
30
#include <cstdlib>
31
32
#include <
ros/ros.h
>
33
34
#include <gtest/gtest.h>
35
36
#define UNDEF_COMPATIBILITY_LEVEL
37
38
namespace
mcl_3dl_compat
39
{
40
int
current_level
;
41
int
supported_level
;
42
int
default_level
;
43
}
// namespace mcl_3dl_compat
44
#include <
mcl_3dl_compat/compatibility.h
>
45
46
int
test_mode
= 0;
47
48
TEST
(Mcl3DlCompat, CompatMode)
49
{
50
mcl_3dl_compat::supported_level
= 2;
51
mcl_3dl_compat::current_level
= 3;
52
mcl_3dl_compat::default_level
=
mcl_3dl_compat::supported_level
;
53
54
ros::NodeHandle
(
"~"
).setParam(
"compatible"
, 2);
55
ASSERT_NO_THROW(
56
{
57
mcl_3dl_compat::checkCompatMode
();
58
});
// NOLINT(whitespace/braces)
59
60
ros::NodeHandle
(
"~"
).setParam(
"compatible"
, 3);
61
ASSERT_NO_THROW(
62
{
63
mcl_3dl_compat::checkCompatMode
();
64
});
// NOLINT(whitespace/braces)
65
66
ros::NodeHandle
(
"~"
).setParam(
"compatible"
,
test_mode
? 4 : 1);
67
ASSERT_THROW(
68
{
69
mcl_3dl_compat::checkCompatMode
();
70
},
// NOLINT(whitespace/braces)
71
std::runtime_error);
72
}
73
74
int
main
(
int
argc,
char
** argv)
75
{
76
testing::InitGoogleTest(&argc, argv);
77
ros::init
(argc, argv,
"test_mcl_3dl_compat_incompatible"
);
78
79
if
(argc != 2)
80
{
81
std::cerr <<
"test_mcl_3dl_compat_incompatible must have one argument (0 or 1)"
<< std::endl;
82
return
1;
83
}
84
test_mode
= std::atoi(argv[1]);
85
86
return
RUN_ALL_TESTS();
87
}
main
int main(int argc, char **argv)
Definition:
test_mcl_3dl_compat_incompatible.cpp:74
ros::NodeHandle
mcl_3dl_compat::default_level
const int default_level
Definition:
compatibility.h:49
mcl_3dl_compat
Definition:
compatibility.h:37
ros::init
ROSCPP_DECL void init(int &argc, char **argv, const std::string &name, uint32_t options=0)
mcl_3dl_compat::supported_level
const int supported_level
Definition:
compatibility.h:48
TEST
TEST(Mcl3DlCompat, CompatMode)
Definition:
test_mcl_3dl_compat_incompatible.cpp:48
mcl_3dl_compat::current_level
const int current_level
Definition:
compatibility.h:47
test_mode
int test_mode
Definition:
test_mcl_3dl_compat_incompatible.cpp:46
ros.h
mcl_3dl_compat::checkCompatMode
void checkCompatMode()
Definition:
compatibility.h:62
compatibility.h
mcl_3dl
Author(s): Atsushi Watanabe
autogenerated on Mon Jul 8 2019 03:32:36