| 481 | |
| 482 | #[test] |
| 483 | fn create_and_read() { |
| 484 | let dir = tempfile::tempdir().unwrap(); |
| 485 | let path = dir.path().join("test.vseg"); |
| 486 | |
| 487 | let v0 = vec![1.0f32, 2.0, 3.0]; |
| 488 | let v1 = vec![4.0f32, 5.0, 6.0]; |
| 489 | let v2 = vec![7.0f32, 8.0, 9.0]; |
| 490 | let surrogates = vec![10u64, 20, 30]; |
| 491 | |
| 492 | let seg = |
| 493 | MmapVectorSegment::create_with_surrogates(&path, 3, &[&v0, &v1, &v2], &surrogates) |
| 494 | .unwrap(); |
| 495 | |
| 496 | assert_eq!(seg.dim(), 3); |
| 497 | assert_eq!(seg.count(), 3); |
| 498 | assert_eq!(seg.get_vector(0).unwrap(), &[1.0, 2.0, 3.0]); |
| 499 | assert_eq!(seg.get_vector(1).unwrap(), &[4.0, 5.0, 6.0]); |
| 500 | assert_eq!(seg.get_vector(2).unwrap(), &[7.0, 8.0, 9.0]); |
| 501 | assert!(seg.get_vector(3).is_none()); |
| 502 | assert_eq!(seg.get_surrogate_id(0).unwrap(), 10); |
| 503 | assert_eq!(seg.get_surrogate_id(1).unwrap(), 20); |
| 504 | assert_eq!(seg.get_surrogate_id(2).unwrap(), 30); |
| 505 | assert!(seg.get_surrogate_id(3).is_none()); |
| 506 | } |
| 507 | |
| 508 | #[test] |
| 509 | fn flat_slices() { |