exowos/subject_source/tests/vec_access.rs
2025-03-12 00:15:24 +01:00

40 lines
799 B
Rust

use subject_source::vec::access;
#[test]
pub fn add_last_two_not_enough() {
assert_eq!(access::add_last_two(&[1.0]), None);
}
#[test]
pub fn add_last_two_enough() {
assert_eq!(access::add_last_two(&[1.0, 2.0, 3.0]), Some(5.0));
}
#[test]
pub fn dup_top_empty() {
let mut empty = vec![];
assert!(access::dup_top(&mut empty).is_none());
}
#[test]
pub fn dup_top_has_values() {
let mut empty = vec![1.0, 2.0];
assert!(access::dup_top(&mut empty).is_some());
assert_eq!(empty, &[1.0, 2.0, 2.0]);
}
#[test]
pub fn median_already_sorted() {
assert_eq!(access::median(&[1, 2, 3]), Some(2));
}
#[test]
pub fn median_shuffled() {
assert_eq!(access::median(&[420, 69, 128]), Some(128));
}
#[test]
pub fn median_empty() {
assert_eq!(access::median(&[]), None);
}