From 41affcd7add63e83386993cb6b93f0aab9a4c8ca Mon Sep 17 00:00:00 2001 From: Xevion Date: Mon, 28 Jul 2025 18:52:34 -0500 Subject: [PATCH] test: add tests for centered_with_size --- src/helpers.rs | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/helpers.rs b/src/helpers.rs index 92a19c6..425b1e0 100644 --- a/src/helpers.rs +++ b/src/helpers.rs @@ -9,3 +9,43 @@ pub fn centered_with_size(pixel_pos: IVec2, size: UVec2) -> Rect { size.y, ) } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_centered_with_size_basic() { + let rect = centered_with_size(IVec2::new(100, 100), UVec2::new(50, 30)); + assert_eq!(rect.origin(), (75, 85)); + assert_eq!(rect.size(), (50, 30)); + } + + #[test] + fn test_centered_with_size_odd_dimensions() { + let rect = centered_with_size(IVec2::new(50, 50), UVec2::new(51, 31)); + assert_eq!(rect.origin(), (25, 35)); + assert_eq!(rect.size(), (51, 31)); + } + + #[test] + fn test_centered_with_size_zero_position() { + let rect = centered_with_size(IVec2::new(0, 0), UVec2::new(100, 100)); + assert_eq!(rect.origin(), (-50, -50)); + assert_eq!(rect.size(), (100, 100)); + } + + #[test] + fn test_centered_with_size_negative_position() { + let rect = centered_with_size(IVec2::new(-100, -50), UVec2::new(80, 40)); + assert_eq!(rect.origin(), (-140, -70)); + assert_eq!(rect.size(), (80, 40)); + } + + #[test] + fn test_centered_with_size_large_dimensions() { + let rect = centered_with_size(IVec2::new(1000, 1000), UVec2::new(1000, 1000)); + assert_eq!(rect.origin(), (500, 500)); + assert_eq!(rect.size(), (1000, 1000)); + } +}