use arrow2::array::*; use arrow2::compute::bitwise::*; #[test] fn test_xor() { let a = Int32Array::from(&[Some(2), Some(4), Some(6), Some(7)]); let b = Int32Array::from(&[None, Some(6), Some(9), Some(7)]); let result = xor(&a, &b); let expected = Int32Array::from(&[None, Some(2), Some(15), Some(0)]); assert_eq!(result, expected); } #[test] fn test_and() { let a = Int32Array::from(&[Some(1), Some(2), Some(15)]); let b = Int32Array::from(&[None, Some(2), Some(6)]); let result = and(&a, &b); let expected = Int32Array::from(&[None, Some(2), Some(6)]); assert_eq!(result, expected); } #[test] fn test_or() { let a = Int32Array::from(&[Some(1), Some(2), Some(0)]); let b = Int32Array::from(&[None, Some(2), Some(0)]); let result = or(&a, &b); let expected = Int32Array::from(&[None, Some(2), Some(0)]); assert_eq!(result, expected); } #[test] fn test_not() { let a = Int8Array::from(&[None, Some(1i8), Some(-100i8)]); let result = not(&a); let expected = Int8Array::from(&[None, Some(-2), Some(99)]); assert_eq!(result, expected); }