Skip to content

Commit

Permalink
ARROW-85. Added tests for Buffer and the new behavior
Browse files Browse the repository at this point in the history
  • Loading branch information
Kai Zheng committed Apr 4, 2016
1 parent 4d04c27 commit 9f239a3
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions cpp/src/arrow/util/buffer-test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,40 @@ TEST_F(TestBuffer, ResizeOOM) {
ASSERT_RAISES(OutOfMemory, buf.Resize(to_alloc));
}

TEST_F(TestBuffer, EqualsWithSameContent) {
MemoryPool* pool = default_memory_pool();
int32_t bufferSize = 128 * 1024;
uint8_t* rawBuffer1 = NULL;
ASSERT_OK(pool->Allocate(bufferSize, &rawBuffer1));
memset(rawBuffer1, 12, bufferSize);
uint8_t* rawBuffer2 = NULL;
ASSERT_OK(pool->Allocate(bufferSize, &rawBuffer2));
memset(rawBuffer2, 12, bufferSize);
uint8_t* rawBuffer3 = NULL;
ASSERT_OK(pool->Allocate(bufferSize, &rawBuffer3));
memset(rawBuffer3, 3, bufferSize);

Buffer buffer1(rawBuffer1, bufferSize);
Buffer buffer2(rawBuffer2, bufferSize);
Buffer buffer3(rawBuffer3, bufferSize);
ASSERT_TRUE(buffer1.Equals(buffer2));
ASSERT_FALSE(buffer1.Equals(buffer3));
}

TEST_F(TestBuffer, EqualsWithSameBuffer) {
MemoryPool* pool = default_memory_pool();
int32_t bufferSize = 128 * 1024;
uint8_t* rawBuffer = NULL;
ASSERT_OK(pool->Allocate(bufferSize, &rawBuffer));

Buffer buffer1(rawBuffer, bufferSize);
Buffer buffer2(rawBuffer, bufferSize);
ASSERT_TRUE(buffer1.Equals(buffer2));

int64_t nbytes = bufferSize / 2;
Buffer buffer3(rawBuffer, nbytes);
ASSERT_TRUE(buffer1.Equals(buffer3, nbytes));
ASSERT_FALSE(buffer1.Equals(buffer3, nbytes + 1));
}

} // namespace arrow

0 comments on commit 9f239a3

Please sign in to comment.