diff --git a/pong/src/geom.rs b/pong/src/geom.rs index 5b29678..d624376 100644 --- a/pong/src/geom.rs +++ b/pong/src/geom.rs @@ -28,16 +28,14 @@ pub mod geom { self.y /= length; } - pub fn perpendicular_clockwise(&self) -> Vector { - let mut vector = Vector::new(self.y, -self.x); - vector.normalize(); - vector + pub fn perpendicular_clockwise(&mut self) { + self.x = self.y; + self.y = -self.x; } - pub fn perpendicular_counter_clockwise(&self) -> Vector { - let mut vector = Vector::new(-self.y, self.x); - vector.normalize(); - vector + pub fn perpendicular_counter_clockwise(&mut self) { + self.x = -self.y; + self.y = self.x; } pub fn add(&mut self, other: &Vector) { diff --git a/pong/tests/vector_tests.rs b/pong/tests/vector_tests.rs index fb8944a..c359166 100644 --- a/pong/tests/vector_tests.rs +++ b/pong/tests/vector_tests.rs @@ -47,11 +47,11 @@ pub fn should_calculate_angle_correctly( #[case(Vector::new(0., 1.), Vector::new(1., 0.))] #[case(Vector::new(7., 7.), Vector::new(0.7071067811865476, -0.7071067811865476))] pub fn should_get_perpendicular_clockwise( - #[case] vector: Vector, + #[case] mut vector: Vector, #[case] expected: Vector ) { - let res = vector.perpendicular_clockwise(); - assert_eq!(res, expected); + vector.perpendicular_clockwise(); + assert_eq!(vector, expected); } #[rstest] @@ -59,9 +59,9 @@ pub fn should_get_perpendicular_clockwise( #[case(Vector::new(1., 0.), Vector::new(0., 1.))] #[case(Vector::new(7., 7.), Vector::new(-0.7071067811865476, 0.7071067811865476))] pub fn should_get_perpendicular_counter_clockwise( - #[case] vector: Vector, + #[case] mut vector: Vector, #[case] expected: Vector ) { - let res = vector.perpendicular_counter_clockwise(); - assert_eq!(res, expected); + vector.perpendicular_counter_clockwise(); + assert_eq!(vector, expected); }