From e8338e2708e1352b0204b5c7a350dfe2d398e5bb Mon Sep 17 00:00:00 2001 From: gnxlxnxx Date: Fri, 12 Jun 2020 23:33:24 +0200 Subject: [PATCH] Remove float-cmp use euclids approximation instead --- Cargo.toml | 1 - tests/unit_test.rs | 42 +++++++++++++++++++----------------------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index bd374fe..fd4924f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,4 +19,3 @@ euclid = "0.20.11" thiserror = "1.0" [dev-dependencies] -float-cmp = "0.8.0" diff --git a/tests/unit_test.rs b/tests/unit_test.rs index 03899fc..8fa74fd 100644 --- a/tests/unit_test.rs +++ b/tests/unit_test.rs @@ -1,37 +1,33 @@ #[cfg(test)] mod tests { use dubins_path::*; - use float_cmp::approx_eq; + use euclid::approxeq::ApproxEq; fn circle_in_error_margin( result: CircleVector, expected_result: CircleVector, ) -> Result<(), ()> { - assert!(approx_eq!(f64, result.center.x, expected_result.center.x)); - assert!(approx_eq!(f64, result.center.x, expected_result.center.x)); - assert!(approx_eq!(f64, result.center.y, expected_result.center.y)); - assert!(approx_eq!(f64, result.center.y, expected_result.center.y)); - assert!(approx_eq!(f64, result.radius, expected_result.radius)); - assert!(approx_eq!(f64, result.radius, expected_result.radius)); - assert!(approx_eq!(f64, result.angle.radians, expected_result.angle.radians) || - approx_eq!(f64, result.angle.signed().radians, expected_result.angle.signed().radians)); - assert!(approx_eq!(f64, result.angle.radians, expected_result.angle.radians) || - approx_eq!(f64, result.angle.signed().radians, expected_result.angle.signed().radians)); - Ok(()) + if !ApproxEq::approx_eq(&result.center, &expected_result.center) + || !ApproxEq::approx_eq(&result.radius, &expected_result.radius) + || !(ApproxEq::approx_eq(&result.angle, &expected_result.angle) + || ApproxEq::approx_eq(&result.angle.signed(), &expected_result.angle.signed())) + { + Err(()) + } else { + Ok(()) + } } fn vector_in_error_margin(result: Vector, expected_result: Vector) -> Result<(), ()> { - assert!(approx_eq!(f64, result.origin.x, expected_result.origin.x)); - assert!(approx_eq!(f64, result.origin.x, expected_result.origin.x)); - assert!(approx_eq!(f64, result.origin.y, expected_result.origin.y)); - assert!(approx_eq!(f64, result.origin.y, expected_result.origin.y)); - assert!(approx_eq!(f64, result.angle.radians, expected_result.angle.radians) || - approx_eq!(f64, result.angle.signed().radians, expected_result.angle.signed().radians)); - assert!(approx_eq!(f64, result.angle.radians, expected_result.angle.radians) || - approx_eq!(f64, result.angle.signed().radians, expected_result.angle.signed().radians)); - assert!(approx_eq!(f64, result.magnitude, expected_result.magnitude)); - assert!(approx_eq!(f64, result.magnitude, expected_result.magnitude)); - Ok(()) + if !ApproxEq::approx_eq(&result.origin, &expected_result.origin) + || !ApproxEq::approx_eq(&result.magnitude, &expected_result.magnitude) + || !(ApproxEq::approx_eq(&result.angle, &expected_result.angle) + || ApproxEq::approx_eq(&result.angle.signed(), &expected_result.angle.signed())) + { + Err(()) + } else { + Ok(()) + } } #[test]