Path: blob/main/crates/polars-arrow/src/array/boolean/proptest.rs
6939 views
use proptest::prelude::{Strategy, any_with};1use proptest::sample::SizeRange;23use super::{ArrowDataType, BooleanArray};4use crate::bitmap::Bitmap;56pub fn boolean_array(size_range: impl Into<SizeRange>) -> impl Strategy<Value = BooleanArray> {7let size_range = size_range.into();8proptest::prop_oneof![9any_with::<Vec<bool>>(size_range.clone().lift()).prop_map(|v| BooleanArray::new(10ArrowDataType::Boolean,11v.into(),12None13)),14any_with::<Vec<(bool, bool)>>(size_range.lift()).prop_map(|v| {15let values = Bitmap::from_iter(v.iter().map(|(v, _)| *v));16let validity = Bitmap::from_iter(v.iter().map(|(_, v)| *v));17BooleanArray::new(ArrowDataType::Boolean, values, Some(validity))18}),19]20}212223