This is an automated email from the ASF dual-hosted git repository.
tustvold pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/master by this push:
new a999fb86764 Increase BinaryViewArray test coverage (#5635)
a999fb86764 is described below
commit a999fb86764e9310bb4822c7e7c6551f247e0e0b
Author: Andrew Lamb <[email protected]>
AuthorDate: Fri Apr 12 18:00:40 2024 -0400
Increase BinaryViewArray test coverage (#5635)
---
arrow-array/src/array/byte_view_array.rs | 42 +++++++++++++++++++++++++++++---
1 file changed, 39 insertions(+), 3 deletions(-)
diff --git a/arrow-array/src/array/byte_view_array.rs
b/arrow-array/src/array/byte_view_array.rs
index 5d7afb478c0..e2839b19e5f 100644
--- a/arrow-array/src/array/byte_view_array.rs
+++ b/arrow-array/src/array/byte_view_array.rs
@@ -472,13 +472,13 @@ impl From<Vec<Option<String>>> for StringViewArray {
#[cfg(test)]
mod tests {
- use crate::builder::StringViewBuilder;
+ use crate::builder::{BinaryViewBuilder, StringViewBuilder};
use crate::{Array, BinaryViewArray, StringViewArray};
use arrow_buffer::{Buffer, ScalarBuffer};
use arrow_data::ByteView;
#[test]
- fn try_new() {
+ fn try_new_string() {
let array = StringViewArray::from_iter_values(vec![
"hello",
"world",
@@ -487,7 +487,10 @@ mod tests {
]);
assert_eq!(array.value(0), "hello");
assert_eq!(array.value(3), "large payload over 12 bytes");
+ }
+ #[test]
+ fn try_new_binary() {
let array = BinaryViewArray::from_iter_values(vec![
b"hello".as_slice(),
b"world".as_slice(),
@@ -496,14 +499,30 @@ mod tests {
]);
assert_eq!(array.value(0), b"hello");
assert_eq!(array.value(3), b"large payload over 12 bytes");
+ }
+ #[test]
+ fn try_new_empty_string() {
// test empty array
let array = {
let mut builder = StringViewBuilder::new();
builder.finish()
};
assert!(array.is_empty());
+ }
+
+ #[test]
+ fn try_new_empty_binary() {
+ // test empty array
+ let array = {
+ let mut builder = BinaryViewBuilder::new();
+ builder.finish()
+ };
+ assert!(array.is_empty());
+ }
+ #[test]
+ fn test_append_string() {
// test builder append
let array = {
let mut builder = StringViewBuilder::new();
@@ -515,8 +534,25 @@ mod tests {
assert_eq!(array.value(0), "hello");
assert!(array.is_null(1));
assert_eq!(array.value(2), "large payload over 12 bytes");
+ }
- // test builder's in_progress re-created
+ #[test]
+ fn test_append_binary() {
+ // test builder append
+ let array = {
+ let mut builder = BinaryViewBuilder::new();
+ builder.append_value(b"hello");
+ builder.append_null();
+ builder.append_option(Some(b"large payload over 12 bytes"));
+ builder.finish()
+ };
+ assert_eq!(array.value(0), b"hello");
+ assert!(array.is_null(1));
+ assert_eq!(array.value(2), b"large payload over 12 bytes");
+ }
+
+ #[test]
+ fn test_in_progress_recreation() {
let array = {
// make a builder with small block size.
let mut builder = StringViewBuilder::new().with_block_size(14);