Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 59 additions & 11 deletions vortex-array/src/validity.rs
Original file line number Diff line number Diff line change
Expand Up @@ -520,21 +520,57 @@ mod tests {

#[rstest]
#[case(Validity::AllValid, 5, &[2, 4], Validity::AllValid, Validity::AllValid)]
#[case(Validity::AllValid, 5, &[2, 4], Validity::AllInvalid, Validity::Array(BoolArray::from_iter([true, true, false, true, false]).into_array())
#[case(
Validity::AllValid,
5,
&[2, 4],
Validity::AllInvalid,
Validity::Array(BoolArray::from_iter([true, true, false, true, false]).into_array())
)]
#[case(Validity::AllValid, 5, &[2, 4], Validity::Array(BoolArray::from_iter([true, false]).into_array()), Validity::Array(BoolArray::from_iter([true, true, true, true, false]).into_array())
#[case(
Validity::AllValid,
5,
&[2, 4],
Validity::Array(BoolArray::from_iter([true, false]).into_array()),
Validity::Array(BoolArray::from_iter([true, true, true, true, false]).into_array())
)]
#[case(Validity::AllInvalid, 5, &[2, 4], Validity::AllValid, Validity::Array(BoolArray::from_iter([false, false, true, false, true]).into_array())
#[case(
Validity::AllInvalid,
5,
&[2, 4],
Validity::AllValid,
Validity::Array(BoolArray::from_iter([false, false, true, false, true]).into_array())
)]
#[case(Validity::AllInvalid, 5, &[2, 4], Validity::AllInvalid, Validity::AllInvalid)]
#[case(Validity::AllInvalid, 5, &[2, 4], Validity::Array(BoolArray::from_iter([true, false]).into_array()), Validity::Array(BoolArray::from_iter([false, false, true, false, false]).into_array())
#[case(
Validity::AllInvalid,
5,
&[2, 4],
Validity::Array(BoolArray::from_iter([true, false]).into_array()),
Validity::Array(BoolArray::from_iter([false, false, true, false, false]).into_array())
)]
#[case(Validity::Array(BoolArray::from_iter([false, true, false, true, false]).into_array()), 5, &[2, 4], Validity::AllValid, Validity::Array(BoolArray::from_iter([false, true, true, true, true]).into_array())
#[case(
Validity::Array(BoolArray::from_iter([false, true, false, true, false]).into_array()),
5,
&[2, 4],
Validity::AllValid,
Validity::Array(BoolArray::from_iter([false, true, true, true, true]).into_array())
)]
#[case(Validity::Array(BoolArray::from_iter([false, true, false, true, false]).into_array()), 5, &[2, 4], Validity::AllInvalid, Validity::Array(BoolArray::from_iter([false, true, false, true, false]).into_array())
#[case(
Validity::Array(BoolArray::from_iter([false, true, false, true, false]).into_array()),
5,
&[2, 4],
Validity::AllInvalid,
Validity::Array(BoolArray::from_iter([false, true, false, true, false]).into_array())
)]
#[case(Validity::Array(BoolArray::from_iter([false, true, false, true, false]).into_array()), 5, &[2, 4], Validity::Array(BoolArray::from_iter([true, false]).into_array()), Validity::Array(BoolArray::from_iter([false, true, true, true, false]).into_array())
#[case(
Validity::Array(BoolArray::from_iter([false, true, false, true, false]).into_array()),
5,
&[2, 4],
Validity::Array(BoolArray::from_iter([true, false]).into_array()),
Validity::Array(BoolArray::from_iter([false, true, true, true, false]).into_array())
)]

fn patch_validity(
#[case] validity: Validity,
#[case] len: usize,
Expand Down Expand Up @@ -571,15 +607,27 @@ mod tests {
}

#[rstest]
#[case(Validity::AllValid, PrimitiveArray::new(buffer![0, 1], Validity::from_iter(vec![true, false])).into_array(), Validity::from_iter(vec![true, false])
#[case(
Validity::AllValid,
PrimitiveArray::new(buffer![0, 1], Validity::from_iter(vec![true, false])).into_array(),
Validity::from_iter(vec![true, false])
)]
#[case(Validity::AllValid, buffer![0, 1].into_array(), Validity::AllValid)]
#[case(Validity::AllValid, PrimitiveArray::new(buffer![0, 1], Validity::AllInvalid).into_array(), Validity::AllInvalid
#[case(
Validity::AllValid,
PrimitiveArray::new(buffer![0, 1], Validity::AllInvalid).into_array(),
Validity::AllInvalid
)]
#[case(Validity::NonNullable, PrimitiveArray::new(buffer![0, 1], Validity::from_iter(vec![true, false])).into_array(), Validity::from_iter(vec![true, false])
#[case(
Validity::NonNullable,
PrimitiveArray::new(buffer![0, 1], Validity::from_iter(vec![true, false])).into_array(),
Validity::from_iter(vec![true, false])
)]
#[case(Validity::NonNullable, buffer![0, 1].into_array(), Validity::NonNullable)]
#[case(Validity::NonNullable, PrimitiveArray::new(buffer![0, 1], Validity::AllInvalid).into_array(), Validity::AllInvalid
#[case(
Validity::NonNullable,
PrimitiveArray::new(buffer![0, 1], Validity::AllInvalid).into_array(),
Validity::AllInvalid
)]
fn validity_take(
#[case] validity: Validity,
Expand Down
Loading