velesdb-core 5.1.0

High-performance vector database engine written in Rust
Documentation
use super::*;

#[test]
fn test_latency_stats_empty() {
    let samples: Vec<Duration> = vec![];
    let stats = compute_latency_percentiles(&samples);
    assert_eq!(stats.min, Duration::ZERO);
    assert_eq!(stats.max, Duration::ZERO);
}

#[test]
fn test_latency_stats_single() {
    let samples = vec![Duration::from_micros(100)];
    let stats = compute_latency_percentiles(&samples);
    assert_eq!(stats.min, Duration::from_micros(100));
    assert_eq!(stats.max, Duration::from_micros(100));
}

#[test]
fn test_latency_stats_multiple() {
    let samples: Vec<Duration> = (1..=100).map(|i| Duration::from_micros(i * 10)).collect();
    let stats = compute_latency_percentiles(&samples);
    assert_eq!(stats.min, Duration::from_micros(10));
    assert_eq!(stats.max, Duration::from_millis(1));
    assert!(stats.p50 > Duration::ZERO);
    assert!(stats.p99 > stats.p50);
}

#[test]
fn test_latency_stats_default() {
    let stats = LatencyStats::default();
    assert_eq!(stats.min, Duration::ZERO);
    assert_eq!(stats.max, Duration::ZERO);
    assert_eq!(stats.mean, Duration::ZERO);
}