6 #include <gtest/gtest.h>
8 #include "../clock.hpp"
17 for (
uint8_t i = 0; i <
sizeof(data); i++)
21 frame.setPayload(data,
sizeof(data));
22 frame.setEndOfTransfer(
true);
28 const uint8_t* payload,
unsigned payload_len)
38 static const unsigned BUFLEN = 1024;
39 uint8_t buf_reference[BUFLEN], buf_actual[BUFLEN];
41 if (payload_len > BUFLEN)
43 std::cout <<
"match(): Payload is too long" << std::endl;
47 std::fill(buf_reference, buf_reference + BUFLEN, 0);
48 std::fill(buf_actual, buf_actual + BUFLEN, 0);
49 std::copy(payload, payload + payload_len, buf_reference);
51 EXPECT_EQ(payload_len, it.
read(0, buf_actual, payload_len * 3));
52 EXPECT_EQ(0, it.
read(payload_len, buf_actual, payload_len * 3));
54 return std::equal(buf_reference, buf_reference + BUFLEN, buf_actual);
58 TEST(SingleFrameIncomingTransfer, Basic)
64 SingleFrameIncomingTransfer it(
frame);
70 TEST(MultiFrameIncomingTransfer, Basic)
82 MultiFrameIncomingTransfer it(
frame.getMonotonicTimestamp(),
frame.getUtcTimestamp(),
frame, tba);
88 ASSERT_GT(0, it.read(0, &data_byte, 1));
93 const std::string data =
"123Hello world";
94 const uint8_t*
const data_ptr =
reinterpret_cast<const uint8_t*
>(data.c_str());
95 ASSERT_FALSE(bufmgr.
access(bufmgr_key));
96 ASSERT_TRUE(bufmgr.
create(bufmgr_key));
97 ASSERT_EQ(data.length(), bufmgr.
access(bufmgr_key)->
write(0, data_ptr,
unsigned(data.length())));
102 ASSERT_TRUE(
match(it,
frame, data_ptr,
unsigned(data.length())));
107 ASSERT_TRUE(bufmgr.
access(bufmgr_key));
109 ASSERT_FALSE(bufmgr.
access(bufmgr_key));