()
| 1364 | |
| 1365 | #[test] |
| 1366 | fn test_run_array_values_slice() { |
| 1367 | // 0, 0, 1, 1, 1, 2...2 (15 2s) |
| 1368 | let run_ends: PrimitiveArray<Int32Type> = vec![2, 5, 20].into(); |
| 1369 | let values: PrimitiveArray<Int32Type> = vec![0, 1, 2].into(); |
| 1370 | let array = RunArray::<Int32Type>::try_new(&run_ends, &values).unwrap(); |
| 1371 | |
| 1372 | let slice = array.slice(1, 4); // 0 | 1, 1, 1 | |
| 1373 | // logical indices: 1, 2, 3, 4 |
| 1374 | // physical indices: 0, 1, 1, 1 |
| 1375 | // values at 0 is 0 |
| 1376 | // values at 1 is 1 |
| 1377 | // values slice should be [0, 1] |
| 1378 | assert_eq!(slice.get_start_physical_index(), 0); |
| 1379 | assert_eq!(slice.get_end_physical_index(), 1); |
| 1380 | |
| 1381 | let values_slice = slice.values_slice(); |
| 1382 | let values_slice = values_slice.as_primitive::<Int32Type>(); |
| 1383 | assert_eq!(values_slice.values(), &[0, 1]); |
| 1384 | |
| 1385 | let slice2 = array.slice(2, 3); // 1, 1, 1 |
| 1386 | // logical indices: 2, 3, 4 |
| 1387 | // physical indices: 1, 1, 1 |
| 1388 | assert_eq!(slice2.get_start_physical_index(), 1); |
| 1389 | assert_eq!(slice2.get_end_physical_index(), 1); |
| 1390 | |
| 1391 | let values_slice2 = slice2.values_slice(); |
| 1392 | let values_slice2 = values_slice2.as_primitive::<Int32Type>(); |
| 1393 | assert_eq!(values_slice2.values(), &[1]); |
| 1394 | } |
| 1395 | |
| 1396 | #[test] |
| 1397 | fn test_run_array_values_slice_empty() { |
nothing calls this directly
no test coverage detected