pub fn coverage_color(percentage: f64) -> &'static str {
if percentage < 50.0 {
"#e05d44"
} else if percentage < 80.0 {
"#dfb317"
} else {
"#4c1"
}
}
pub fn coverage_level(percentage: f64) -> &'static str {
if percentage < 50.0 {
"low"
} else if percentage < 80.0 {
"medium"
} else {
"high"
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_low_coverage_is_red() {
assert_eq!(coverage_color(0.0), "#e05d44");
assert_eq!(coverage_color(25.0), "#e05d44");
assert_eq!(coverage_color(49.9), "#e05d44");
}
#[test]
fn test_medium_coverage_is_yellow() {
assert_eq!(coverage_color(50.0), "#dfb317");
assert_eq!(coverage_color(65.0), "#dfb317");
assert_eq!(coverage_color(79.9), "#dfb317");
}
#[test]
fn test_high_coverage_is_green() {
assert_eq!(coverage_color(80.0), "#4c1");
assert_eq!(coverage_color(90.0), "#4c1");
assert_eq!(coverage_color(100.0), "#4c1");
}
#[test]
fn test_coverage_level_low() {
assert_eq!(coverage_level(0.0), "low");
assert_eq!(coverage_level(25.0), "low");
assert_eq!(coverage_level(49.9), "low");
}
#[test]
fn test_coverage_level_medium() {
assert_eq!(coverage_level(50.0), "medium");
assert_eq!(coverage_level(65.0), "medium");
assert_eq!(coverage_level(79.9), "medium");
}
#[test]
fn test_coverage_level_high() {
assert_eq!(coverage_level(80.0), "high");
assert_eq!(coverage_level(90.0), "high");
assert_eq!(coverage_level(100.0), "high");
}
}