MCPcopy Create free account
hub / github.com/bytedance/bolt / basicTest

Method basicTest

bolt/vector/tests/IsWritableVectorTest.cpp:92–114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

90 // shared_ptrs which it would do if we used VectorPtr.
91 template <typename T>
92 void basicTest(const std::shared_ptr<T>& vector) {
93 ASSERT_TRUE(vector->isNullsWritable());
94 ASSERT_TRUE(BaseVector::isVectorWritable(vector));
95
96 {
97 auto copy = vector;
98 ASSERT_TRUE(vector->isNullsWritable());
99 // The Vector is not uniquely referenced.
100 ASSERT_FALSE(BaseVector::isVectorWritable(vector));
101 }
102
103 // Hack to ensure nulls are allocated.
104 vector->mutableRawNulls();
105 ASSERT_TRUE(vector->isNullsWritable());
106 ASSERT_TRUE(BaseVector::isVectorWritable(vector));
107
108 {
109 // Make a copy of nulls so it's no longer mutable.
110 auto nulls = vector->nulls();
111 ASSERT_FALSE(vector->isNullsWritable());
112 ASSERT_FALSE(BaseVector::isVectorWritable(vector));
113 }
114 }
115};
116
117TEST_F(IsWritableVectorTest, flatVector) {

Callers

nothing calls this directly

Calls 3

isVectorWritableFunction · 0.85
isNullsWritableMethod · 0.45
nullsMethod · 0.45

Tested by

no test coverage detected