MCPcopy Create free account
hub / github.com/apache/arrow / TestValidateOffsets

Method TestValidateOffsets

cpp/src/arrow/array/array_binary_test.cc:275–300  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

273 }
274
275 void TestValidateOffsets() {
276 ASSERT_OK(ValidateFull(0, {0}, ""));
277 ASSERT_OK(ValidateFull(1, {0, 4}, "data"));
278 ASSERT_OK(ValidateFull(2, {0, 4, 4}, "data"));
279 ASSERT_OK(ValidateFull(2, {0, 5, 9}, "some data"));
280
281 // Non-zero array offset
282 ASSERT_OK(ValidateFull(0, {0, 4}, "data", 1));
283 ASSERT_OK(ValidateFull(1, {0, 5, 9}, "some data", 1));
284 ASSERT_OK(ValidateFull(0, {0, 5, 9}, "some data", 2));
285
286 // Not enough offsets
287 ASSERT_RAISES(Invalid, ValidateFull(1, {}, ""));
288 ASSERT_RAISES(Invalid, ValidateFull(1, {0}, ""));
289 ASSERT_RAISES(Invalid, ValidateFull(2, {0, 4}, "data"));
290 ASSERT_RAISES(Invalid, ValidateFull(1, {0, 4}, "data", 1));
291
292 // Offset out of bounds
293 ASSERT_RAISES(Invalid, ValidateFull(1, {0, 5}, "data"));
294 // Negative offset
295 ASSERT_RAISES(Invalid, ValidateFull(1, {-1, 0}, "data"));
296 ASSERT_RAISES(Invalid, ValidateFull(1, {0, -1}, "data"));
297 ASSERT_RAISES(Invalid, ValidateFull(1, {0, -1, -1}, "data", 1));
298 // Offsets non-monotonic
299 ASSERT_RAISES(Invalid, ValidateFull(2, {0, 5, 4}, "some data"));
300 }
301
302 void TestValidateData() {
303 // Valid UTF8

Callers 1

TYPED_TESTFunction · 0.80

Calls 1

ValidateFullFunction · 0.85

Tested by

no test coverage detected