| 306 | |
| 307 | #[test] |
| 308 | fn serialization_roundtrip() { |
| 309 | let mut idx = PkIndex::new(); |
| 310 | let pks: Vec<Vec<u8>> = (0..100).map(|i| encode_pk(&Value::Integer(i))).collect(); |
| 311 | idx.bulk_insert(0, &pks).expect("bulk insert"); |
| 312 | |
| 313 | let bytes = idx.to_bytes().expect("serialize"); |
| 314 | let restored = PkIndex::from_bytes(&bytes).expect("deserialize"); |
| 315 | |
| 316 | assert_eq!(restored.len(), 100); |
| 317 | let loc = restored.get(&pks[50]).expect("lookup"); |
| 318 | assert_eq!(loc.segment_id, 0); |
| 319 | assert_eq!(loc.row_index, 50); |
| 320 | } |
| 321 | |
| 322 | #[test] |
| 323 | fn int_sort_order() { |