13 #include <gtest/gtest.h>
23 using std::chrono::milliseconds;
35 root(
"root_sequence"),
36 action_1(
"action_1", milliseconds(100)),
56 condition_1.setExpectedResult(NodeStatus::FAILURE);
57 condition_2.setExpectedResult(NodeStatus::SUCCESS);
61 ASSERT_EQ(NodeStatus::RUNNING, state);
62 ASSERT_EQ(NodeStatus::SUCCESS, fal_conditions.status());
63 ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
64 ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
65 ASSERT_EQ(NodeStatus::RUNNING, action_1.status());
70 condition_2.setExpectedResult(NodeStatus::FAILURE);
71 condition_1.setExpectedResult(NodeStatus::SUCCESS);
75 ASSERT_EQ(NodeStatus::RUNNING, state);
76 ASSERT_EQ(NodeStatus::SUCCESS, fal_conditions.status());
77 ASSERT_EQ(NodeStatus::IDLE, condition_1.status());
78 ASSERT_EQ(NodeStatus::IDLE, condition_2.status());
79 ASSERT_EQ(NodeStatus::RUNNING, action_1.status());
88 std::stringstream stream;
90 const auto string = stream.str();
94 ASSERT_FALSE(std::getline(stream, line,
'\n').fail());
95 ASSERT_STREQ(
"----------------", line.c_str());
98 ASSERT_FALSE(std::getline(stream, line,
'\n').fail());
99 ASSERT_STREQ(root.name().c_str(), line.c_str());
101 ASSERT_FALSE(std::getline(stream, line,
'\n').fail());
102 ASSERT_STREQ((
" " + fal_conditions.name()).c_str(), line.c_str());
104 ASSERT_FALSE(std::getline(stream, line,
'\n').fail());
105 ASSERT_STREQ((
" " + condition_1.name()).c_str(), line.c_str());
107 ASSERT_FALSE(std::getline(stream, line,
'\n').fail());
108 ASSERT_STREQ((
" " + condition_2.name()).c_str(), line.c_str());
110 ASSERT_FALSE(std::getline(stream, line,
'\n').fail());
111 ASSERT_STREQ((
" " + action_1.name()).c_str(), line.c_str());
114 ASSERT_FALSE(std::getline(stream, line,
'\n').fail());
115 ASSERT_STREQ(
"----------------", line.c_str());
118 ASSERT_TRUE(std::getline(stream, line,
'\n').fail());
124 int main(
int argc,
char** argv)
126 testing::InitGoogleTest(&argc, argv);
132 return RUN_ALL_TESTS();