Path: blob/main/crates/polars-arrow/src/array/binview/proptest.rs
6939 views
use proptest::prelude::{Strategy, any_with};1use proptest::sample::SizeRange;23use super::{BinaryViewArray, MutableBinaryViewArray, Utf8ViewArray};4use crate::bitmap::Bitmap;56pub fn utf8view_array(size_range: impl Into<SizeRange>) -> impl Strategy<Value = Utf8ViewArray> {7let size_range = size_range.into();8proptest::prop_oneof![9any_with::<Vec<String>>(size_range.clone().lift()).prop_map(|v| {10let mut builder = MutableBinaryViewArray::<str>::with_capacity(v.len());11builder.extend_values(v.into_iter());12builder.freeze()13}),14any_with::<Vec<(bool, String)>>(size_range.lift()).prop_map(|v| {15let mut builder = MutableBinaryViewArray::<str>::with_capacity(v.len());16builder.extend_values(v.iter().map(|(_, s)| s));17builder18.freeze()19.with_validity(Some(Bitmap::from_iter(v.iter().map(|(v, _)| *v))))20}),21]22}2324pub fn binview_array(size_range: impl Into<SizeRange>) -> impl Strategy<Value = BinaryViewArray> {25let size_range = size_range.into();26proptest::prop_oneof![27any_with::<Vec<Vec<u8>>>(size_range.clone().lift()).prop_map(|v| {28let mut builder = MutableBinaryViewArray::<[u8]>::with_capacity(v.len());29builder.extend_values(v.into_iter());30builder.freeze()31}),32any_with::<Vec<(bool, Vec<u8>)>>(size_range.lift()).prop_map(|v| {33let mut builder = MutableBinaryViewArray::<[u8]>::with_capacity(v.len());34builder.extend_values(v.iter().map(|(_, s)| s));35builder36.freeze()37.with_validity(Some(Bitmap::from_iter(v.iter().map(|(v, _)| *v))))38}),39]40}414243