Add some tests for `Rect`

This commit is contained in:
Emil Ernerfeldt 2024-03-26 11:13:04 +01:00
parent 8a880d6d0f
commit 884cf6de3d
1 changed files with 19 additions and 0 deletions

View File

@ -680,3 +680,22 @@ impl Div<f32> for Rect {
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_rect() {
let r = Rect::from_min_max(pos2(10.0, 10.0), pos2(20.0, 20.0));
assert_eq!(r.distance_sq_to_pos(pos2(15.0, 15.0)), 0.0);
assert_eq!(r.distance_sq_to_pos(pos2(10.0, 15.0)), 0.0);
assert_eq!(r.distance_sq_to_pos(pos2(10.0, 10.0)), 0.0);
assert_eq!(r.distance_sq_to_pos(pos2(5.0, 15.0)), 25.0); // left of
assert_eq!(r.distance_sq_to_pos(pos2(25.0, 15.0)), 25.0); // right of
assert_eq!(r.distance_sq_to_pos(pos2(15.0, 5.0)), 25.0); // above
assert_eq!(r.distance_sq_to_pos(pos2(15.0, 25.0)), 25.0); // below
assert_eq!(r.distance_sq_to_pos(pos2(25.0, 5.0)), 50.0); // right and above
}
}