in nfm-controller/src/events/network_event.rs [674:724]
fn test_quantify_loss() {
let mut stats = NetworkStats::default();
assert_eq!(stats.quantify_loss(), 0);
stats.bytes_received = 100;
assert_eq!(stats.quantify_loss(), 0);
stats.rtt_us.count = 50;
assert_eq!(stats.quantify_loss(), 0);
stats.retrans_syn = 1;
let loss_a1 = stats.quantify_loss();
stats.retrans_syn = 0;
stats.retrans_est = 1;
let loss_a2 = stats.quantify_loss();
stats.retrans_est = 0;
stats.retrans_close = 1;
let loss_a3 = stats.quantify_loss();
stats.retrans_close = 0;
stats.rtos_syn = 1;
let loss_b1 = stats.quantify_loss();
stats.rtos_syn = 0;
stats.rtos_est = 1;
let loss_b2 = stats.quantify_loss();
stats.rtos_est = 0;
stats.rtos_close = 1;
let loss_b3 = stats.quantify_loss();
stats.rtos_close = 0;
stats.severed_connect = 1;
let loss_c = stats.quantify_loss();
stats.retrans_syn = 1;
stats.rtos_syn = 1;
stats.severed_connect = 1;
let loss_d = stats.quantify_loss();
assert!(loss_d > loss_c);
assert!(loss_c > loss_b1);
assert!(loss_b1 > loss_a1);
assert_eq!(loss_a2, loss_a1);
assert_eq!(loss_a3, loss_a1);
assert_eq!(loss_b2, loss_b1);
assert_eq!(loss_b3, loss_b1);
}