| 36 | using internal::checked_pointer_cast; |
| 37 | |
| 38 | TEST(TestUnionArray, TestSliceEquals) { |
| 39 | std::shared_ptr<RecordBatch> batch; |
| 40 | ASSERT_OK(ipc::test::MakeUnion(&batch)); |
| 41 | |
| 42 | auto CheckUnion = [](std::shared_ptr<Array> array) { |
| 43 | const int64_t size = array->length(); |
| 44 | std::shared_ptr<Array> slice, slice2; |
| 45 | slice = array->Slice(2); |
| 46 | ASSERT_EQ(size - 2, slice->length()); |
| 47 | |
| 48 | slice2 = array->Slice(2); |
| 49 | ASSERT_EQ(size - 2, slice->length()); |
| 50 | |
| 51 | ASSERT_TRUE(slice->Equals(slice2)); |
| 52 | ASSERT_TRUE(array->RangeEquals(2, array->length(), 0, slice)); |
| 53 | |
| 54 | // Chained slices |
| 55 | slice2 = array->Slice(1)->Slice(1); |
| 56 | ASSERT_TRUE(slice->Equals(slice2)); |
| 57 | |
| 58 | slice = array->Slice(1, 5); |
| 59 | slice2 = array->Slice(1, 5); |
| 60 | ASSERT_EQ(5, slice->length()); |
| 61 | |
| 62 | ASSERT_TRUE(slice->Equals(slice2)); |
| 63 | ASSERT_TRUE(array->RangeEquals(1, 6, 0, slice)); |
| 64 | |
| 65 | AssertZeroPadded(*array); |
| 66 | TestInitialized(*array); |
| 67 | }; |
| 68 | |
| 69 | CheckUnion(batch->column(0)); |
| 70 | CheckUnion(batch->column(1)); |
| 71 | } |
| 72 | |
| 73 | TEST(TestSparseUnionArray, GetFlattenedField) { |
| 74 | auto ty = sparse_union({field("ints", int64()), field("strs", utf8())}, {2, 7}); |
nothing calls this directly
no test coverage detected