diff --git a/Tests/UnitTests/Core/Detector/RectangularConverterTest.h b/Tests/UnitTests/Core/Detector/RectangularConverterTest.h
index fe5be601c338c3149cb10266ff30548535c1ad75..5226a695b156a9b67d5e92fdeb6d1f26d1859a35 100644
--- a/Tests/UnitTests/Core/Detector/RectangularConverterTest.h
+++ b/Tests/UnitTests/Core/Detector/RectangularConverterTest.h
@@ -48,32 +48,34 @@ TEST_F(RectangularConverterTest, RectangularConverter)
 
     EXPECT_EQ(converter.dimension(), 2u);
 
-    EXPECT_DOUBLE_EQ(converter.calculateMin(0, AxesUnits::DEFAULT), 0.0);
-    EXPECT_DOUBLE_EQ(converter.calculateMin(0, AxesUnits::NBINS), 0.0);
-    EXPECT_DOUBLE_EQ(converter.calculateMin(0, AxesUnits::MM), 0.0);
+    EXPECT_NEAR(converter.calculateMin(0, AxesUnits::DEFAULT), 0.0, 1e-12);
+    EXPECT_NEAR(converter.calculateMin(0, AxesUnits::NBINS), 0.0, 1e-12);
+    EXPECT_NEAR(converter.calculateMin(0, AxesUnits::MM), 0.0, 1e-12);
     EXPECT_NEAR(converter.calculateMin(0, AxesUnits::RADIANS), -m_phi, m_phi*1e-10);
     EXPECT_NEAR(converter.calculateMin(0, AxesUnits::DEGREES), Units::rad2deg(-m_phi),
                 Units::rad2deg(m_phi)*1e-10);
     EXPECT_NEAR(converter.calculateMin(0, AxesUnits::QSPACE), -m_kfy, m_kfy*1e-10);
 
-    EXPECT_DOUBLE_EQ(converter.calculateMax(0, AxesUnits::DEFAULT), det_width);
-    EXPECT_DOUBLE_EQ(converter.calculateMax(0, AxesUnits::NBINS), static_cast<double>(det_nx));
-    EXPECT_DOUBLE_EQ(converter.calculateMax(0, AxesUnits::MM), det_width);
+    EXPECT_NEAR(converter.calculateMax(0, AxesUnits::DEFAULT), det_width, det_width*1e-10);
+    EXPECT_NEAR(converter.calculateMax(0, AxesUnits::NBINS), static_cast<double>(det_nx),
+                det_nx*1e-10);
+    EXPECT_NEAR(converter.calculateMax(0, AxesUnits::MM), det_width, det_width*1e-10);
     EXPECT_NEAR(converter.calculateMax(0, AxesUnits::RADIANS), m_phi, m_phi*1e-10);
     EXPECT_NEAR(converter.calculateMax(0, AxesUnits::DEGREES), Units::rad2deg(m_phi),
                 Units::rad2deg(m_phi)*1e-10);
     EXPECT_NEAR(converter.calculateMax(0, AxesUnits::QSPACE), m_kfy, m_kfy*1e-10);
 
-    EXPECT_DOUBLE_EQ(converter.calculateMin(1, AxesUnits::DEFAULT), 0.0);
-    EXPECT_DOUBLE_EQ(converter.calculateMin(1, AxesUnits::NBINS), 0.0);
-    EXPECT_DOUBLE_EQ(converter.calculateMin(1, AxesUnits::MM), 0.0);
-    EXPECT_DOUBLE_EQ(converter.calculateMin(1, AxesUnits::RADIANS), 0.0);
-    EXPECT_DOUBLE_EQ(converter.calculateMin(1, AxesUnits::DEGREES), 0.0);
+    EXPECT_NEAR(converter.calculateMin(1, AxesUnits::DEFAULT), 0.0, 1e-12);
+    EXPECT_NEAR(converter.calculateMin(1, AxesUnits::NBINS), 0.0, 1e-12);
+    EXPECT_NEAR(converter.calculateMin(1, AxesUnits::MM), 0.0, 1e-12);
+    EXPECT_NEAR(converter.calculateMin(1, AxesUnits::RADIANS), 0.0, 1e-12);
+    EXPECT_NEAR(converter.calculateMin(1, AxesUnits::DEGREES), 0.0, 1e-12);
     EXPECT_NEAR(converter.calculateMin(1, AxesUnits::QSPACE), - m_kiz, std::abs(m_kiz)*1e-10);
 
-    EXPECT_DOUBLE_EQ(converter.calculateMax(1, AxesUnits::DEFAULT), det_height);
-    EXPECT_DOUBLE_EQ(converter.calculateMax(1, AxesUnits::NBINS), static_cast<double>(det_ny));
-    EXPECT_DOUBLE_EQ(converter.calculateMax(1, AxesUnits::MM), det_height);
+    EXPECT_NEAR(converter.calculateMax(1, AxesUnits::DEFAULT), det_height, det_height*1e-10);
+    EXPECT_NEAR(converter.calculateMax(1, AxesUnits::NBINS), static_cast<double>(det_ny),
+                det_ny*1e-10);
+    EXPECT_NEAR(converter.calculateMax(1, AxesUnits::MM), det_height, det_height*1e-10);
     EXPECT_NEAR(converter.calculateMax(1, AxesUnits::RADIANS), m_alpha, m_alpha*1e-10);
     EXPECT_NEAR(converter.calculateMax(1, AxesUnits::DEGREES), Units::rad2deg(m_alpha),
                 Units::rad2deg(m_alpha)*1e-10);
@@ -91,32 +93,34 @@ TEST_F(RectangularConverterTest, RectangularConverterClone)
 
     EXPECT_EQ(P_clone->dimension(), 2u);
 
-    EXPECT_DOUBLE_EQ(P_clone->calculateMin(0, AxesUnits::DEFAULT), 0.0);
-    EXPECT_DOUBLE_EQ(P_clone->calculateMin(0, AxesUnits::NBINS), 0.0);
-    EXPECT_DOUBLE_EQ(P_clone->calculateMin(0, AxesUnits::MM), 0.0);
+    EXPECT_NEAR(P_clone->calculateMin(0, AxesUnits::DEFAULT), 0.0, 1e-12);
+    EXPECT_NEAR(P_clone->calculateMin(0, AxesUnits::NBINS), 0.0, 1e-12);
+    EXPECT_NEAR(P_clone->calculateMin(0, AxesUnits::MM), 0.0, 1e-12);
     EXPECT_NEAR(P_clone->calculateMin(0, AxesUnits::RADIANS), -m_phi, m_phi*1e-10);
     EXPECT_NEAR(P_clone->calculateMin(0, AxesUnits::DEGREES), Units::rad2deg(-m_phi),
                 Units::rad2deg(m_phi)*1e-10);
     EXPECT_NEAR(P_clone->calculateMin(0, AxesUnits::QSPACE), -m_kfy, m_kfy*1e-10);
 
-    EXPECT_DOUBLE_EQ(P_clone->calculateMax(0, AxesUnits::DEFAULT), det_width);
-    EXPECT_DOUBLE_EQ(P_clone->calculateMax(0, AxesUnits::NBINS), static_cast<double>(det_nx));
-    EXPECT_DOUBLE_EQ(P_clone->calculateMax(0, AxesUnits::MM), det_width);
+    EXPECT_NEAR(P_clone->calculateMax(0, AxesUnits::DEFAULT), det_width, det_width*1e-10);
+    EXPECT_NEAR(P_clone->calculateMax(0, AxesUnits::NBINS), static_cast<double>(det_nx),
+                det_nx*1e-10);
+    EXPECT_NEAR(P_clone->calculateMax(0, AxesUnits::MM), det_width, det_width*1e-10);
     EXPECT_NEAR(P_clone->calculateMax(0, AxesUnits::RADIANS), m_phi, m_phi*1e-10);
     EXPECT_NEAR(P_clone->calculateMax(0, AxesUnits::DEGREES), Units::rad2deg(m_phi),
                 Units::rad2deg(m_phi)*1e-10);
     EXPECT_NEAR(P_clone->calculateMax(0, AxesUnits::QSPACE), m_kfy, m_kfy*1e-10);
 
-    EXPECT_DOUBLE_EQ(P_clone->calculateMin(1, AxesUnits::DEFAULT), 0.0);
-    EXPECT_DOUBLE_EQ(P_clone->calculateMin(1, AxesUnits::NBINS), 0.0);
-    EXPECT_DOUBLE_EQ(P_clone->calculateMin(1, AxesUnits::MM), 0.0);
-    EXPECT_DOUBLE_EQ(P_clone->calculateMin(1, AxesUnits::RADIANS), 0.0);
-    EXPECT_DOUBLE_EQ(P_clone->calculateMin(1, AxesUnits::DEGREES), 0.0);
+    EXPECT_NEAR(P_clone->calculateMin(1, AxesUnits::DEFAULT), 0.0, 1e-12);
+    EXPECT_NEAR(P_clone->calculateMin(1, AxesUnits::NBINS), 0.0, 1e-12);
+    EXPECT_NEAR(P_clone->calculateMin(1, AxesUnits::MM), 0.0, 1e-12);
+    EXPECT_NEAR(P_clone->calculateMin(1, AxesUnits::RADIANS), 0.0, 1e-12);
+    EXPECT_NEAR(P_clone->calculateMin(1, AxesUnits::DEGREES), 0.0, 1e-12);
     EXPECT_NEAR(P_clone->calculateMin(1, AxesUnits::QSPACE), - m_kiz, std::abs(m_kiz)*1e-10);
 
-    EXPECT_DOUBLE_EQ(P_clone->calculateMax(1, AxesUnits::DEFAULT), det_height);
-    EXPECT_DOUBLE_EQ(P_clone->calculateMax(1, AxesUnits::NBINS), static_cast<double>(det_ny));
-    EXPECT_DOUBLE_EQ(P_clone->calculateMax(1, AxesUnits::MM), det_height);
+    EXPECT_NEAR(P_clone->calculateMax(1, AxesUnits::DEFAULT), det_height, det_height*1e-10);
+    EXPECT_NEAR(P_clone->calculateMax(1, AxesUnits::NBINS), static_cast<double>(det_ny),
+                det_ny*1e-10);
+    EXPECT_NEAR(P_clone->calculateMax(1, AxesUnits::MM), det_height, det_height*1e-10);
     EXPECT_NEAR(P_clone->calculateMax(1, AxesUnits::RADIANS), m_alpha, m_alpha*1e-10);
     EXPECT_NEAR(P_clone->calculateMax(1, AxesUnits::DEGREES), Units::rad2deg(m_alpha),
                 Units::rad2deg(m_alpha)*1e-10);