use crate::collection::Collection;
use crate::distance::DistanceMetric;
use crate::point::Point;
use std::path::PathBuf;
use tempfile::TempDir;
pub fn setup_collection(dim: usize) -> (TempDir, Collection) {
let dir = tempfile::tempdir().expect("test: tempdir creation");
let col = Collection::create(PathBuf::from(dir.path()), dim, DistanceMetric::Cosine)
.expect("test: collection creation");
(dir, col)
}
#[allow(dead_code)] pub fn setup_collection_with_points(dim: usize, points: Vec<Point>) -> (TempDir, Collection) {
let (dir, col) = setup_collection(dim);
col.upsert(points).expect("test: upsert");
(dir, col)
}
#[allow(dead_code)] pub fn make_point(id: u64, vector: Vec<f32>) -> Point {
Point {
id,
vector,
payload: None,
sparse_vectors: None,
}
}
pub fn make_point_with_payload(id: u64, vector: Vec<f32>, payload: serde_json::Value) -> Point {
Point {
id,
vector,
payload: Some(payload),
sparse_vectors: None,
}
}