From 1b5d332e9309f7fc83c5c779d5828199360dd184 Mon Sep 17 00:00:00 2001 From: Patrick Niklaus Date: Fri, 16 Jan 2015 00:49:43 +0100 Subject: [PATCH] Add regression test for FixedpointCoordinate --- unit_tests/data_structures/coordinate.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 unit_tests/data_structures/coordinate.cpp diff --git a/unit_tests/data_structures/coordinate.cpp b/unit_tests/data_structures/coordinate.cpp new file mode 100644 index 000000000..bf28666cf --- /dev/null +++ b/unit_tests/data_structures/coordinate.cpp @@ -0,0 +1,20 @@ +#include + +#include + +// Regression test for bug captured in #1347 +BOOST_AUTO_TEST_CASE(regression_test_1347) +{ + FixedPointCoordinate u(10 * COORDINATE_PRECISION, -100 * COORDINATE_PRECISION); + FixedPointCoordinate v(10.001 * COORDINATE_PRECISION, -100.002 * COORDINATE_PRECISION); + FixedPointCoordinate q(10.002 * COORDINATE_PRECISION, -100.001 * COORDINATE_PRECISION); + + float d1 = FixedPointCoordinate::ComputePerpendicularDistance(u, v, q); + + float ratio; + FixedPointCoordinate nearest_location; + float d2 = FixedPointCoordinate::ComputePerpendicularDistance(u, v, q, nearest_location, ratio); + + BOOST_CHECK_LE(std::abs(d1 - d2), 0.01); +} +