| 67 | }; |
| 68 | |
| 69 | TEST_F(PackerTest, packUnsignedIntegers) |
| 70 | { |
| 71 | // Only test pack's ability to identify the min # of bytes required |
| 72 | // and advances the buffer appropriately. Verification of the data |
| 73 | // comes in the unpack test. |
| 74 | char *buffer = buffer_space; |
| 75 | EXPECT_EQ(1, pack(&buffer, uint8_t(0))); |
| 76 | EXPECT_EQ(1, pack(&buffer, uint16_t(0))); |
| 77 | EXPECT_EQ(1, pack(&buffer, uint32_t(0))); |
| 78 | EXPECT_EQ(1, pack(&buffer, uint64_t(0))); |
| 79 | EXPECT_EQ(buffer_space + 4, buffer); |
| 80 | |
| 81 | EXPECT_EQ(1, pack(&buffer, uint8_t(1))); |
| 82 | EXPECT_EQ(1, pack(&buffer, uint16_t(1))); |
| 83 | EXPECT_EQ(1, pack(&buffer, uint32_t(1))); |
| 84 | EXPECT_EQ(1, pack(&buffer, uint64_t(1))); |
| 85 | EXPECT_EQ(buffer_space + 8, buffer); |
| 86 | |
| 87 | EXPECT_EQ(1, pack(&buffer, uint8_t(255))); |
| 88 | EXPECT_EQ(1, pack(&buffer, uint16_t(255))); |
| 89 | EXPECT_EQ(1, pack(&buffer, uint32_t(255))); |
| 90 | EXPECT_EQ(1, pack(&buffer, uint64_t(255))); |
| 91 | EXPECT_EQ(buffer_space + 12, buffer); |
| 92 | |
| 93 | EXPECT_EQ(2, pack(&buffer, uint16_t(1 << 8))); |
| 94 | EXPECT_EQ(2, pack(&buffer, uint32_t(1 << 8))); |
| 95 | EXPECT_EQ(2, pack(&buffer, uint64_t(1 << 8))); |
| 96 | EXPECT_EQ(buffer_space + 18, buffer); |
| 97 | |
| 98 | EXPECT_EQ(2, pack(&buffer, uint16_t(1 << 16 - 1))); |
| 99 | EXPECT_EQ(2, pack(&buffer, uint32_t(1 << 16 - 1))); |
| 100 | EXPECT_EQ(2, pack(&buffer, uint64_t(1 << 16 - 1))); |
| 101 | EXPECT_EQ(buffer_space + 24, buffer); |
| 102 | |
| 103 | EXPECT_EQ(3, pack(&buffer, uint32_t(1 << 16))); |
| 104 | EXPECT_EQ(3, pack(&buffer, uint64_t(1 << 16))); |
| 105 | EXPECT_EQ(buffer_space + 30, buffer); |
| 106 | |
| 107 | EXPECT_EQ(3, pack(&buffer, uint32_t(1 << 24 - 1))); |
| 108 | EXPECT_EQ(3, pack(&buffer, uint64_t(1 << 24 - 1))); |
| 109 | EXPECT_EQ(buffer_space + 36, buffer); |
| 110 | |
| 111 | EXPECT_EQ(4, pack(&buffer, uint32_t(1 << 24))); |
| 112 | EXPECT_EQ(4, pack(&buffer, uint64_t(1 << 24))); |
| 113 | EXPECT_EQ(buffer_space + 44, buffer); |
| 114 | |
| 115 | EXPECT_EQ(4, pack(&buffer, uint32_t(1ULL << 32 - 1))); |
| 116 | EXPECT_EQ(4, pack(&buffer, uint64_t(1ULL << 32 - 1))); |
| 117 | EXPECT_EQ(buffer_space + 52, buffer); |
| 118 | |
| 119 | EXPECT_EQ(5, pack(&buffer, uint64_t(1ULL << 32))); |
| 120 | EXPECT_EQ(5, pack(&buffer, uint64_t(1ULL << 40 - 1))); |
| 121 | EXPECT_EQ(buffer_space + 62, buffer); |
| 122 | |
| 123 | EXPECT_EQ(6, pack(&buffer, uint64_t(1ULL << 40))); |
| 124 | EXPECT_EQ(6, pack(&buffer, uint64_t(1ULL << 48 - 1))); |
| 125 | EXPECT_EQ(buffer_space + 74, buffer); |
| 126 | EXPECT_EQ(7, pack(&buffer, uint64_t(1ULL << 48))); |
nothing calls this directly
no test coverage detected