5 #include <gtest/gtest.h>
8 #include <root_ns_a/StringService.hpp>
9 #include <root_ns_a/EmptyService.hpp>
10 #include "../clock.hpp"
11 #include "../transport/can/can.hpp"
22 root_ns_a::StringService::Response& response)
24 std::cout << request << std::endl;
25 response.string_response = request.string_request;
33 root_ns_a::StringService::Response&)>
Binder;
42 root_ns_a::EmptyService::Response&)
44 std::cout << request << std::endl;
49 root_ns_a::EmptyService::Response&)>
Binder;
70 ASSERT_EQ(0,
node.getDispatcher().getNumServiceRequestListeners());
72 ASSERT_EQ(1,
node.getDispatcher().getNumServiceRequestListeners());
83 frame.setPayload(req,
sizeof(req));
85 frame.setStartOfTransfer(
true);
86 frame.setEndOfTransfer(
true);
90 can_driver.
ifaces[0].pushRx(rx_frame);
98 ASSERT_EQ(4, can_driver.
ifaces[0].tx.size());
99 for (
int i = 0; i < 2; i++)
107 ASSERT_TRUE(fr.
parse(can_driver.
ifaces[0].popTxFrame()));
108 std::cout << fr.toString() << std::endl;
109 ASSERT_FALSE(std::strncmp(payloads[0],
reinterpret_cast<const char*
>(fr.
getPayloadPtr() + 2), 5));
117 ASSERT_TRUE(fr.
parse(can_driver.
ifaces[0].popTxFrame()));
118 std::cout << fr.toString() << std::endl;
120 ASSERT_FALSE(std::strncmp(payloads[1],
reinterpret_cast<const char*
>(fr.
getPayloadPtr()), 7));
130 ASSERT_EQ(1,
node.getDispatcher().getNumServiceRequestListeners());
132 ASSERT_EQ(0,
node.getDispatcher().getNumServiceRequestListeners());
150 std::cout <<
"sizeof(ServiceServer<root_ns_a::EmptyService, EmptyServerImpl::Binder>): "
153 ASSERT_EQ(0,
node.getDispatcher().getNumServiceRequestListeners());
155 ASSERT_EQ(1,
node.getDispatcher().getNumServiceRequestListeners());