diff --git a/crates/emath/src/rect.rs b/crates/emath/src/rect.rs index 72331dae..f23d3500 100644 --- a/crates/emath/src/rect.rs +++ b/crates/emath/src/rect.rs @@ -680,3 +680,22 @@ impl Div 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 + } +}