MCPcopy Create free account
hub / github.com/attermann/microReticulum / testCowBytes

Function testCowBytes

test/test_bytes/test_bytes.cpp:213–251  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

211}
212
213void testCowBytes() {
214
215 RNS::Bytes bytes1("1");
216 TEST_ASSERT_EQUAL_size_t(1, bytes1.size());
217 TEST_ASSERT_EQUAL_MEMORY("1", bytes1.data(), bytes1.size());
218
219 RNS::Bytes bytes2(bytes1);
220 TEST_ASSERT_EQUAL_size_t(1, bytes2.size());
221 TEST_ASSERT_EQUAL_MEMORY("1", bytes2.data(), bytes2.size());
222 TEST_ASSERT_EQUAL_PTR(bytes1.data(), bytes2.data());
223
224 RNS::Bytes bytes3(bytes2);
225 TEST_ASSERT_EQUAL_size_t(1, bytes3.size());
226 TEST_ASSERT_EQUAL_MEMORY("1", bytes3.data(), bytes3.size());
227 TEST_ASSERT_EQUAL_PTR(bytes2.data(), bytes3.data());
228
229 TRACEF("pre bytes1 ptr: %p data: %s", (void*)bytes1.data(), bytes1.toString().c_str());
230 TRACEF("pre bytes2 ptr: %p data: %s", (void*)bytes2.data(), bytes2.toString().c_str());
231 TRACEF("pre bytes3 ptr: %p data: %s", (void*)bytes3.data(), bytes3.toString().c_str());
232
233 //bytes1.append("mississippi");
234 //assert(bytes1.size() == 12);
235 //assert(memcmp(bytes1.data(), "1mississippi", bytes1.size()) == 0);
236 //assert(bytes1.data() != bytes2.data());
237
238 bytes2.append("mississippi");
239 TEST_ASSERT_EQUAL_size_t(12, bytes2.size());
240 TEST_ASSERT_EQUAL_MEMORY("1mississippi", bytes2.data(), bytes2.size());
241 TEST_ASSERT_NOT_EQUAL(bytes1.data(), bytes2.data());
242
243 bytes3.assign("mississippi");
244 TEST_ASSERT_EQUAL_size_t(11, bytes3.size());
245 TEST_ASSERT_EQUAL_MEMORY("mississippi", bytes3.data(), bytes3.size());
246 TEST_ASSERT_NOT_EQUAL(bytes2.data(), bytes3.data());
247
248 TRACEF("post bytes1 ptr: %p data: %s", (void*)bytes1.data(), bytes1.toString().c_str());
249 TRACEF("post bytes2 ptr: %p data: %s", (void*)bytes2.data(), bytes2.toString().c_str());
250 TRACEF("post bytes3 ptr: %p data: %s", (void*)bytes3.data(), bytes3.toString().c_str());
251}
252
253void testBytesConversion() {
254

Callers

nothing calls this directly

Calls 5

dataMethod · 0.80
appendMethod · 0.80
assignMethod · 0.80
sizeMethod · 0.45
toStringMethod · 0.45

Tested by

no test coverage detected