| 1450 | |
| 1451 | #[test] |
| 1452 | fn test_occupancy() { |
| 1453 | let keys = Int32Array::new((100..200).collect(), None); |
| 1454 | let values = Int32Array::from(vec![0; 1024]); |
| 1455 | let dict = DictionaryArray::new(keys, Arc::new(values)); |
| 1456 | for (idx, v) in dict.occupancy().iter().enumerate() { |
| 1457 | let expected = (100..200).contains(&idx); |
| 1458 | assert_eq!(v, expected, "{idx}"); |
| 1459 | } |
| 1460 | |
| 1461 | let keys = Int32Array::new( |
| 1462 | (0..100).collect(), |
| 1463 | Some((0..100).map(|x| x % 4 == 0).collect()), |
| 1464 | ); |
| 1465 | let values = Int32Array::from(vec![0; 1024]); |
| 1466 | let dict = DictionaryArray::new(keys, Arc::new(values)); |
| 1467 | for (idx, v) in dict.occupancy().iter().enumerate() { |
| 1468 | let expected = idx % 4 == 0 && idx < 100; |
| 1469 | assert_eq!(v, expected, "{idx}"); |
| 1470 | } |
| 1471 | } |
| 1472 | |
| 1473 | #[test] |
| 1474 | fn test_iterator_nulls() { |