Skip to main content

test_behavior_without_context_input_port_not_set.hpp File

Included Headers

#include <gmock/gmock.h> #include <moveit_pro_behavior_interface/shared_resources_node.hpp> #include <moveit_pro_behavior_interface/test_behavior.hpp> #include <moveit_pro_test_utils/ros_test.hpp>

Namespaces Index

namespacemoveit_pro
namespacetest_utils

Macro Definitions Index

#defineINSTANTIATE_BEHAVIOR_WITHOUT_CONTEXT_PORT_NOT_SET_TESTS_(behavior_class, input_port_setter_generator, output_port_setter_generator, pre_tick_code)   ...
#defineINSTANTIATE_SYNC_BEHAVIOR_WITHOUT_CONTEXT_PORT_NOT_SET_TESTS(behavior_class, input_port_setter_generator, output_port_setter_generator)   ...

Automatically instantiates tests for the "input Behavior port not set" situation for synchronous Behaviors without context. More...

#defineINSTANTIATE_ASYNC_BEHAVIOR_WITHOUT_CONTEXT_PORT_NOT_SET_TESTS(behavior_class, input_port_setter_generator, output_port_setter_generator)   ...

Automatically instantiates tests for the "input Behavior port not set" situation for asynchronous Behaviors without context. More...

Macro Definitions

INSTANTIATE_ASYNC_BEHAVIOR_WITHOUT_CONTEXT_PORT_NOT_SET_TESTS

#define INSTANTIATE_ASYNC_BEHAVIOR_WITHOUT_CONTEXT_PORT_NOT_SET_TESTS(behavior_class, input_port_setter_generator, output_port_setter_generator)   ...

Automatically instantiates tests for the "input Behavior port not set" situation for asynchronous Behaviors without context.

Value
  INSTANTIATE_BEHAVIOR_WITHOUT_CONTEXT_PORT_NOT_SET_TESTS_( \       behavior_class, input_port_setter_generator, output_port_setter_generator, \       ASSERT_EQ(behavior().executeTick(), BT::NodeStatus::RUNNING) \           << "Should you use INSTANTIATE_SYNC_BEHAVIOR_PORT_NOT_SET_TESTS instead?"; \       std::this_thread::sleep_for(::moveit_pro::test_utils::kPortNotSetTestsMaxTimeBehaviorIsInRunningStatus);)

One test is generated for each Behavior input port.

Parameters
behavior_class

Class of the behavior under test. It cannot have namespace qualifiers. If those are needed, please use a using statement in the test file.

input_port_setter_generator

A port setter map generator defining the expected input ports.

output_port_setter_generator

A port setter map generator defining the expected output ports.

Definition at line 79 of file test_behavior_without_context_input_port_not_set.hpp.

INSTANTIATE_BEHAVIOR_WITHOUT_CONTEXT_PORT_NOT_SET_TESTS_

#define INSTANTIATE_BEHAVIOR_WITHOUT_CONTEXT_PORT_NOT_SET_TESTS_(behavior_class, input_port_setter_generator, output_port_setter_generator, pre_tick_code)   ...
Value
  class behavior_class##BehaviorInputPortNotSetTest \     : public ::moveit_pro::test_utils::RosTest, \       public ::moveit_pro::test_utils::WithBehaviorWithoutContext<behavior_class>, \       public ::testing::WithParamInterface<std::string> \   { \   public: \     behavior_class##BehaviorInputPortNotSetTest() \     { \       initBehavior(#behavior_class, input_port_setter_generator, output_port_setter_generator); \     } \   }; \                                                                                                                        \   TEST_P(behavior_class##BehaviorInputPortNotSetTest, FailsIfPortNotSet) \   { \     const std::string missing_port_name = GetParam(); \     for (const auto& [port_name, port_setter] : input_port_setter_generator()) \     { \       if (port_name == missing_port_name || !port_setter) \       { \         continue; \       } \       port_setter(blackboard(), port_name); \     } \     pre_tick_code; \     EXPECT_EQ(behavior().executeTick(), BT::NodeStatus::FAILURE); \   } \                                                                                                                        \   INSTANTIATE_TEST_SUITE_P(UnsetPortTests, behavior_class##BehaviorInputPortNotSetTest, \                            ::testing::ValuesIn(::moveit_pro::test_utils::getPortIDs(input_port_setter_generator(), \                                                                                     /*only_mandatory=*/true)));

Definition at line 23 of file test_behavior_without_context_input_port_not_set.hpp.

INSTANTIATE_SYNC_BEHAVIOR_WITHOUT_CONTEXT_PORT_NOT_SET_TESTS

#define INSTANTIATE_SYNC_BEHAVIOR_WITHOUT_CONTEXT_PORT_NOT_SET_TESTS(behavior_class, input_port_setter_generator, output_port_setter_generator)   ...

Automatically instantiates tests for the "input Behavior port not set" situation for synchronous Behaviors without context.

Value
  INSTANTIATE_BEHAVIOR_WITHOUT_CONTEXT_PORT_NOT_SET_TESTS_(behavior_class, input_port_setter_generator, \                                                            output_port_setter_generator, )

One test is generated for each Behavior input port.

Parameters
behavior_class

Class of the behavior under test. It cannot have namespace qualifiers. If those are needed, please use a using statement in the test file.

input_port_setter_generator

A port setter map generator defining the expected input ports.

output_port_setter_generator

A port setter map generator defining the expected output ports.

Definition at line 65 of file test_behavior_without_context_input_port_not_set.hpp.


Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.9.8.