@@ -150,13 +150,13 @@ mod tests {
150150 use std:: iter;
151151 use std:: sync:: { Arc , RwLock } ;
152152
153+ use arrow_buffer:: BooleanBufferBuilder ;
153154 use bytes:: Bytes ;
154- use croaring:: Bitmap ;
155155 use flatbuffers:: { root_unchecked, FlatBufferBuilder } ;
156156 use futures_util:: TryStreamExt ;
157- use vortex_array:: array:: { ChunkedArray , PrimitiveArray } ;
157+ use vortex_array:: array:: { BoolArray , ChunkedArray , PrimitiveArray } ;
158158 use vortex_array:: { ArrayDType , IntoArrayData , IntoArrayVariant } ;
159- use vortex_dtype:: PType ;
159+ use vortex_dtype:: { Nullability , PType } ;
160160 use vortex_expr:: { BinaryExpr , Identity , Literal , Operator } ;
161161 use vortex_flatbuffers:: { footer, WriteFlatBuffer } ;
162162 use vortex_ipc:: messages:: writer:: MessageWriter ;
@@ -292,7 +292,7 @@ mod tests {
292292 & mut projection_layout,
293293 cache,
294294 & buf,
295- & RowMask :: try_new ( Bitmap :: from_range ( 0 .. 500 ) , 0 , 500 ) . unwrap ( ) ,
295+ & RowMask :: new_valid_between ( 0 , 500 ) ,
296296 ) ;
297297
298298 assert ! ( arr. is_some( ) ) ;
@@ -309,10 +309,29 @@ mod tests {
309309 let cache = Arc :: new ( RwLock :: new ( LayoutMessageCache :: default ( ) ) ) ;
310310 let ( _, mut projection_layout, buf, _) =
311311 layout_and_bytes ( cache. clone ( ) , Scan :: new ( None ) ) . await ;
312+
313+ let mut first_range = BooleanBufferBuilder :: new ( 200 ) ;
314+ first_range. append_n ( 150 , true ) ;
315+ first_range. append_n ( 50 , false ) ;
316+
317+ let mut snd_range = BooleanBufferBuilder :: new ( 200 ) ;
318+ snd_range. append_n ( 50 , false ) ;
319+ snd_range. append_n ( 100 , true ) ;
320+ snd_range. append_n ( 50 , false ) ;
312321 let mut arr = [
313- RowMask :: try_new ( Bitmap :: from_range ( 0 ..150 ) , 0 , 200 ) . unwrap ( ) ,
314- RowMask :: try_new ( Bitmap :: from_range ( 50 ..150 ) , 200 , 400 ) . unwrap ( ) ,
315- RowMask :: try_new ( Bitmap :: from_range ( 0 ..100 ) , 400 , 500 ) . unwrap ( ) ,
322+ RowMask :: try_new (
323+ BoolArray :: new ( first_range. finish ( ) , Nullability :: NonNullable ) . into_array ( ) ,
324+ 0 ,
325+ 200 ,
326+ )
327+ . unwrap ( ) ,
328+ RowMask :: try_new (
329+ BoolArray :: new ( snd_range. finish ( ) , Nullability :: NonNullable ) . into_array ( ) ,
330+ 200 ,
331+ 400 ,
332+ )
333+ . unwrap ( ) ,
334+ RowMask :: new_valid_between ( 400 , 500 ) ,
316335 ]
317336 . into_iter ( )
318337 . flat_map ( |s| read_layout_data ( & mut projection_layout, cache. clone ( ) , & buf, & s) )
0 commit comments