@@ -192,7 +192,7 @@ TEST_F(TestNodeInterfaces, ni_init) {
192192/*
193193 Testing macro'ed getters.
194194 */
195- TEST_F (TestNodeInterfaces, ni_all_init ) {
195+ TEST_F (TestNodeInterfaces, ni_all_init_non_const ) {
196196 auto node = std::make_shared<rclcpp::Node>(" my_node" , " /ns" );
197197
198198 using rclcpp::node_interfaces::NodeInterfaces;
@@ -252,3 +252,64 @@ TEST_F(TestNodeInterfaces, ni_all_init) {
252252 time_source = ni.get_node_time_source_interface ();
253253 }
254254}
255+
256+ TEST_F (TestNodeInterfaces, ni_all_init_const) {
257+ auto node = std::make_shared<rclcpp::Node>(" my_node" , " /ns" );
258+
259+ using rclcpp::node_interfaces::NodeInterfaces;
260+ using rclcpp::node_interfaces::NodeBaseInterface;
261+ using rclcpp::node_interfaces::NodeClockInterface;
262+ using rclcpp::node_interfaces::NodeGraphInterface;
263+ using rclcpp::node_interfaces::NodeLoggingInterface;
264+ using rclcpp::node_interfaces::NodeTimersInterface;
265+ using rclcpp::node_interfaces::NodeTopicsInterface;
266+ using rclcpp::node_interfaces::NodeServicesInterface;
267+ using rclcpp::node_interfaces::NodeWaitablesInterface;
268+ using rclcpp::node_interfaces::NodeParametersInterface;
269+ using rclcpp::node_interfaces::NodeTimeSourceInterface;
270+
271+ const auto ni = rclcpp::node_interfaces::NodeInterfaces<ALL_RCLCPP_NODE_INTERFACES>(*node);
272+
273+ {
274+ auto base = ni.get <NodeBaseInterface>();
275+ base = ni.get_node_base_interface ();
276+ EXPECT_STREQ (base->get_name (), " my_node" ); // Test for functionality
277+ }
278+ {
279+ auto clock = ni.get <NodeClockInterface>();
280+ clock = ni.get_node_clock_interface ();
281+ clock->get_clock ();
282+ }
283+ {
284+ auto graph = ni.get <NodeGraphInterface>();
285+ graph = ni.get_node_graph_interface ();
286+ }
287+ {
288+ auto logging = ni.get <NodeLoggingInterface>();
289+ logging = ni.get_node_logging_interface ();
290+ }
291+ {
292+ auto timers = ni.get <NodeTimersInterface>();
293+ timers = ni.get_node_timers_interface ();
294+ }
295+ {
296+ auto topics = ni.get <NodeTopicsInterface>();
297+ topics = ni.get_node_topics_interface ();
298+ }
299+ {
300+ auto services = ni.get <NodeServicesInterface>();
301+ services = ni.get_node_services_interface ();
302+ }
303+ {
304+ auto waitables = ni.get <NodeWaitablesInterface>();
305+ waitables = ni.get_node_waitables_interface ();
306+ }
307+ {
308+ auto parameters = ni.get <NodeParametersInterface>();
309+ parameters = ni.get_node_parameters_interface ();
310+ }
311+ {
312+ auto time_source = ni.get <NodeTimeSourceInterface>();
313+ time_source = ni.get_node_time_source_interface ();
314+ }
315+ }
0 commit comments