Commit a0cf3955 authored by Tomek Mrugalski's avatar Tomek Mrugalski 🛰
Browse files

[1313] Tests implemented for readUint32,writeUint32

parent 1032195d
......@@ -19,6 +19,7 @@
#include <cstddef>
#include <arpa/inet.h>
#include <gtest/gtest.h>
#include <util/buffer.h>
......@@ -71,3 +72,48 @@ TEST(asioutil, writeUint16) {
EXPECT_EQ(ref[1], test[1]);
}
}
// test data shared amount readUint32 and writeUint32 tests
const static uint32_t test32[] = {
0,
1,
2000,
0x80000000,
0xffffffff
};
TEST(asioutil, readUint32) {
uint8_t data[8];
// make sure that we can read data, regardless of
// the memory alignment. That' why we need to repeat
// it 4 times.
for (int offset=0; offset<4; offset++) {
for (int i=0; i< sizeof(test32); i++) {
uint32_t tmp = htonl(test32[i]);
memcpy(&data[offset], &tmp, sizeof(uint32_t) );
EXPECT_EQ( test32[i], readUint32(&data[offset]) );
}
}
}
TEST(asioutil, writeUint32) {
uint8_t data[8];
// make sure that we can write data, regardless of
// the memory alignment. That's why we need to repeat
// it 4 times.
for (int offset=0; offset<4; offset++) {
for (int i=0; i< sizeof(test32); i++) {
uint8_t* ptr = writeUint32(test32[i], &data[offset]);
EXPECT_EQ( &data[offset]+sizeof(uint32_t), ptr );
uint32_t tmp = htonl(test32[i]);
EXPECT_FALSE( memcmp(&tmp, &data[offset], sizeof(uint32_t) ) );
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment