Skip to content

Commit a999fb8

Browse files
authored
Increase BinaryViewArray test coverage (#5635)
1 parent 6450527 commit a999fb8

File tree

1 file changed

+39
-3
lines changed

1 file changed

+39
-3
lines changed

arrow-array/src/array/byte_view_array.rs

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -472,13 +472,13 @@ impl From<Vec<Option<String>>> for StringViewArray {
472472

473473
#[cfg(test)]
474474
mod tests {
475-
use crate::builder::StringViewBuilder;
475+
use crate::builder::{BinaryViewBuilder, StringViewBuilder};
476476
use crate::{Array, BinaryViewArray, StringViewArray};
477477
use arrow_buffer::{Buffer, ScalarBuffer};
478478
use arrow_data::ByteView;
479479

480480
#[test]
481-
fn try_new() {
481+
fn try_new_string() {
482482
let array = StringViewArray::from_iter_values(vec![
483483
"hello",
484484
"world",
@@ -487,7 +487,10 @@ mod tests {
487487
]);
488488
assert_eq!(array.value(0), "hello");
489489
assert_eq!(array.value(3), "large payload over 12 bytes");
490+
}
490491

492+
#[test]
493+
fn try_new_binary() {
491494
let array = BinaryViewArray::from_iter_values(vec![
492495
b"hello".as_slice(),
493496
b"world".as_slice(),
@@ -496,14 +499,30 @@ mod tests {
496499
]);
497500
assert_eq!(array.value(0), b"hello");
498501
assert_eq!(array.value(3), b"large payload over 12 bytes");
502+
}
499503

504+
#[test]
505+
fn try_new_empty_string() {
500506
// test empty array
501507
let array = {
502508
let mut builder = StringViewBuilder::new();
503509
builder.finish()
504510
};
505511
assert!(array.is_empty());
512+
}
513+
514+
#[test]
515+
fn try_new_empty_binary() {
516+
// test empty array
517+
let array = {
518+
let mut builder = BinaryViewBuilder::new();
519+
builder.finish()
520+
};
521+
assert!(array.is_empty());
522+
}
506523

524+
#[test]
525+
fn test_append_string() {
507526
// test builder append
508527
let array = {
509528
let mut builder = StringViewBuilder::new();
@@ -515,8 +534,25 @@ mod tests {
515534
assert_eq!(array.value(0), "hello");
516535
assert!(array.is_null(1));
517536
assert_eq!(array.value(2), "large payload over 12 bytes");
537+
}
518538

519-
// test builder's in_progress re-created
539+
#[test]
540+
fn test_append_binary() {
541+
// test builder append
542+
let array = {
543+
let mut builder = BinaryViewBuilder::new();
544+
builder.append_value(b"hello");
545+
builder.append_null();
546+
builder.append_option(Some(b"large payload over 12 bytes"));
547+
builder.finish()
548+
};
549+
assert_eq!(array.value(0), b"hello");
550+
assert!(array.is_null(1));
551+
assert_eq!(array.value(2), b"large payload over 12 bytes");
552+
}
553+
554+
#[test]
555+
fn test_in_progress_recreation() {
520556
let array = {
521557
// make a builder with small block size.
522558
let mut builder = StringViewBuilder::new().with_block_size(14);

0 commit comments

Comments
 (0)