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);

Reply via email to