use crate::metrics::{
network::{refresh, NetState},
HISTORY_LEN,
};
#[test]
fn test_net_state_new_rates_are_zero() {
let state = NetState::new();
assert_eq!(state.rx_bytes_sec, 0);
assert_eq!(state.tx_bytes_sec, 0);
}
#[test]
fn test_net_state_new_rx_history_length() {
let state = NetState::new();
assert_eq!(state.rx_history.len(), HISTORY_LEN);
}
#[test]
fn test_net_state_new_tx_history_length() {
let state = NetState::new();
assert_eq!(state.tx_history.len(), HISTORY_LEN);
}
#[test]
fn test_net_state_new_histories_all_zero() {
let state = NetState::new();
assert!(state.rx_history.iter().all(|&v| v == 0));
assert!(state.tx_history.iter().all(|&v| v == 0));
}
#[test]
fn test_net_refresh_does_not_panic() {
let mut state = NetState::new();
refresh(&mut state);
}
#[test]
fn test_net_refresh_histories_stay_capped() {
let mut state = NetState::new();
refresh(&mut state);
assert_eq!(state.rx_history.len(), HISTORY_LEN);
assert_eq!(state.tx_history.len(), HISTORY_LEN);
}
#[test]
fn test_net_refresh_last_history_matches_rate() {
let mut state = NetState::new();
refresh(&mut state); refresh(&mut state);
assert_eq!(
*state.rx_history.last().unwrap(),
state.rx_bytes_sec,
"last RX history sample should equal rx_bytes_sec"
);
assert_eq!(
*state.tx_history.last().unwrap(),
state.tx_bytes_sec,
"last TX history sample should equal tx_bytes_sec"
);
}