From e266a70f22d2551dd3d156895204e4edd32fb00d Mon Sep 17 00:00:00 2001 From: Navin Keswani Date: Sat, 22 May 2021 18:29:40 +1000 Subject: [PATCH 1/4] Doctests for BooleanArray. --- arrow/src/array/array_boolean.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/arrow/src/array/array_boolean.rs b/arrow/src/array/array_boolean.rs index 67af85d167fd..e50a0038b770 100644 --- a/arrow/src/array/array_boolean.rs +++ b/arrow/src/array/array_boolean.rs @@ -27,6 +27,28 @@ use crate::buffer::{Buffer, MutableBuffer}; use crate::util::bit_util; /// Array of bools +/// +/// # Example +/// +/// ``` +/// use arrow::array::{Array, BooleanArray}; +/// let arr = BooleanArray::from(vec![Some(false), Some(true), None, Some(true)]); +/// assert_eq!(4, arr.len()); +/// assert_eq!(0, arr.offset()); +/// assert_eq!(1, arr.null_count()); +/// assert!(arr.is_valid(0)); +/// assert!(!arr.is_null(0)); +/// assert_eq!(false, arr.value(0)); +/// assert!(arr.is_valid(1)); +/// assert!(!arr.is_null(1)); +/// assert_eq!(true, arr.value(1)); +/// assert!(!arr.is_valid(2)); +/// assert!(arr.is_null(2)); +/// assert!(arr.is_valid(3)); +/// assert!(!arr.is_null(3)); +/// assert_eq!(true, arr.value(3)); +/// ``` +/// pub struct BooleanArray { data: ArrayData, /// Pointer to the value array. The lifetime of this must be <= to the value buffer From c1abbe9961fe72d478089e844ecea2e556285da1 Mon Sep 17 00:00:00 2001 From: Navin Date: Tue, 25 May 2021 07:02:22 +1000 Subject: [PATCH 2/4] Update arrow/src/array/array_boolean.rs Co-authored-by: Andrew Lamb --- arrow/src/array/array_boolean.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/arrow/src/array/array_boolean.rs b/arrow/src/array/array_boolean.rs index e50a0038b770..8b38b5339553 100644 --- a/arrow/src/array/array_boolean.rs +++ b/arrow/src/array/array_boolean.rs @@ -34,7 +34,6 @@ use crate::util::bit_util; /// use arrow::array::{Array, BooleanArray}; /// let arr = BooleanArray::from(vec![Some(false), Some(true), None, Some(true)]); /// assert_eq!(4, arr.len()); -/// assert_eq!(0, arr.offset()); /// assert_eq!(1, arr.null_count()); /// assert!(arr.is_valid(0)); /// assert!(!arr.is_null(0)); From 37058b33a6ac3e6d3ece69c7b080b58ef0d9c2cd Mon Sep 17 00:00:00 2001 From: Navin Keswani Date: Sat, 29 May 2021 16:18:10 +1000 Subject: [PATCH 3/4] Doctests for FixedSizeBinaryArray. --- arrow/src/array/array_binary.rs | 44 +++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/arrow/src/array/array_binary.rs b/arrow/src/array/array_binary.rs index bd04afa4c1fa..e125410348cf 100644 --- a/arrow/src/array/array_binary.rs +++ b/arrow/src/array/array_binary.rs @@ -316,6 +316,29 @@ impl From> for GenericBinaryArray< } /// A type of `FixedSizeListArray` whose elements are binaries. +/// +/// # Examples +/// +/// Create an array from an iterable argument of byte slices. +/// +/// ``` +/// use arrow::array::{Array, FixedSizeBinaryArray}; +/// let input_arg = vec![ vec![1, 2], vec![3, 4], vec![5, 6] ]; +/// let arr = FixedSizeBinaryArray::try_from_iter(input_arg.into_iter()).unwrap(); +/// +/// assert_eq!(3, arr.len()); +/// +/// ``` +/// Create an array from an iterable argument of sparse byte slices. +/// Sparsity means that the input argument can contain `None` items. +/// ``` +/// use arrow::array::{Array, FixedSizeBinaryArray}; +/// let input_arg = vec![ None, Some(vec![7, 8]), Some(vec![9, 10]), None, Some(vec![13, 14]) ]; +/// let arr = FixedSizeBinaryArray::try_from_sparse_iter(input_arg.into_iter()).unwrap(); +/// assert_eq!(5, arr.len()) +/// +/// ``` +/// pub struct FixedSizeBinaryArray { data: ArrayData, value_data: RawPtrBox, @@ -364,7 +387,7 @@ impl FixedSizeBinaryArray { /// Sparsity means that items returned by the iterator are optional, i.e input argument can /// contain `None` items. /// - /// # Examles + /// # Examples /// /// ``` /// use arrow::array::FixedSizeBinaryArray; @@ -449,7 +472,7 @@ impl FixedSizeBinaryArray { /// Create an array from an iterable argument of byte slices. /// - /// # Examles + /// # Examples /// /// ``` /// use arrow::array::FixedSizeBinaryArray; @@ -1154,4 +1177,21 @@ mod tests { format!("{:?}", arr) ); } + + #[test] + fn test_fixed_size_binary_array_from_iter() { + let input_arg = vec![ vec![1, 2], vec![3, 4], vec![5, 6] ]; + let arr = FixedSizeBinaryArray::try_from_iter(input_arg.into_iter()).unwrap(); + + assert_eq!(2, arr.value_length()); + assert_eq!(3, arr.len()) + } + + #[test] + fn test_fixed_size_binary_array_from_sparse_iter() { + let input_arg = vec![ None, Some(vec![7, 8]), Some(vec![9, 10]), None, Some(vec![13, 14]) ]; + let arr = FixedSizeBinaryArray::try_from_sparse_iter(input_arg.into_iter()).unwrap(); + assert_eq!(2, arr.value_length()); + assert_eq!(5, arr.len()) + } } From cff2530ea1638fbed570069cb289eac43e389446 Mon Sep 17 00:00:00 2001 From: Navin Keswani Date: Sat, 29 May 2021 16:28:25 +1000 Subject: [PATCH 4/4] Fix formatting. --- arrow/src/array/array_binary.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/arrow/src/array/array_binary.rs b/arrow/src/array/array_binary.rs index e125410348cf..0cb4db485239 100644 --- a/arrow/src/array/array_binary.rs +++ b/arrow/src/array/array_binary.rs @@ -1180,7 +1180,7 @@ mod tests { #[test] fn test_fixed_size_binary_array_from_iter() { - let input_arg = vec![ vec![1, 2], vec![3, 4], vec![5, 6] ]; + let input_arg = vec![vec![1, 2], vec![3, 4], vec![5, 6]]; let arr = FixedSizeBinaryArray::try_from_iter(input_arg.into_iter()).unwrap(); assert_eq!(2, arr.value_length()); @@ -1189,8 +1189,15 @@ mod tests { #[test] fn test_fixed_size_binary_array_from_sparse_iter() { - let input_arg = vec![ None, Some(vec![7, 8]), Some(vec![9, 10]), None, Some(vec![13, 14]) ]; - let arr = FixedSizeBinaryArray::try_from_sparse_iter(input_arg.into_iter()).unwrap(); + let input_arg = vec![ + None, + Some(vec![7, 8]), + Some(vec![9, 10]), + None, + Some(vec![13, 14]), + ]; + let arr = + FixedSizeBinaryArray::try_from_sparse_iter(input_arg.into_iter()).unwrap(); assert_eq!(2, arr.value_length()); assert_eq!(5, arr.len()) }