MCPcopy Create free account
hub / github.com/apache/arrow-rs / test_nullif_boolean_offset

Function test_nullif_boolean_offset

arrow-select/src/nullif.rs:327–357  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

325
326 #[test]
327 fn test_nullif_boolean_offset() {
328 let a = BooleanArray::from(vec![
329 None, // 0
330 Some(true), // 1
331 Some(false),
332 Some(true),
333 Some(true),
334 ]);
335 let a = a.slice(1, 3); // Some(true), Some(false), Some(true)
336
337 let comp = BooleanArray::from(vec![
338 Some(false), // 0
339 Some(false), // 1
340 Some(false), // 2
341 None,
342 Some(true),
343 Some(false),
344 None,
345 ]);
346 let comp = comp.slice(2, 3); // Some(false), None, Some(true)
347 let comp = comp.as_any().downcast_ref::<BooleanArray>().unwrap();
348 let res = nullif(&a, comp).unwrap();
349 let res = res.as_any().downcast_ref::<BooleanArray>().unwrap();
350
351 let expected = BooleanArray::from(vec![
352 Some(true), // False => keep it
353 Some(false), // None => keep it
354 None, // true => None
355 ]);
356 assert_eq!(&expected, res)
357 }
358
359 struct Foo {
360 a: Option<i32>,

Callers

nothing calls this directly

Calls 3

nullifFunction · 0.85
sliceMethod · 0.45
as_anyMethod · 0.45

Tested by

no test coverage detected