diff --git a/Tests/Unit/Sample/FormFactorBasicTest.cpp b/Tests/Unit/Sample/FormFactorBasicTest.cpp
index 88593dcbc3913cbdbbb375f69581d7fa7a71da2d..fa354eb17148a8022d0f66aceadc68c71986df58 100644
--- a/Tests/Unit/Sample/FormFactorBasicTest.cpp
+++ b/Tests/Unit/Sample/FormFactorBasicTest.cpp
@@ -1,13 +1,15 @@
 #include "Base/Const/Units.h"
-#include <numbers>
-using std::numbers::pi;
 #include "Base/Types/Span.h"
 #include "Sample/HardParticle/HardParticles.h"
 #include "Sample/Scattering/Rotations.h"
 #include "Tests/GTestWrapper/google_test.h"
+#include <numbers>
+using std::numbers::pi;
 
 using namespace std::complex_literals;
 
+const double eps_span = 1e-40;
+
 void test_eps_q(const IFormFactor* p, C3 qdir, double eps)
 {
     C3 q = eps * qdir;
@@ -125,7 +127,7 @@ TEST(FormFactorBasicTest, Pyramid2)
     Pyramid2 particle(length, width, height, alpha);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
     test_ff(&particle);
@@ -160,10 +162,10 @@ TEST(FormFactorBasicTest, Box)
     EXPECT_DOUBLE_EQ(volume, particle.volume());
 
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
-    EXPECT_EQ(0., particle.spanZ(new RotationZ(17 * Units::deg)).low());
+    EXPECT_NEAR(0., particle.spanZ(new RotationZ(17 * Units::deg)).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(new RotationZ(39 * Units::deg)).hig(), height * 1e-15);
 
     EXPECT_NEAR(-width / 2, particle.spanZ(new RotationX(90 * Units::deg)).low(), 1e-12);
@@ -188,7 +190,7 @@ TEST(FormFactorBasicTest, CantellatedCube)
     CantellatedCube particle(L, t);
     EXPECT_DOUBLE_EQ(particle.volume(), volume);
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(L, particle.spanZ(&rot).hig(), L * 1e-15);
 
     test_ff(&particle);
@@ -214,7 +216,7 @@ TEST(FormFactorBasicTest, Cone)
     Cone particle(radius, height, alpha);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
     test_ff(&particle);
@@ -261,7 +263,7 @@ TEST(FormFactorBasicTest, CosineRippleBox)
     CosineRippleBox particle(length, width, height);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
     test_ff(&particle);
@@ -287,7 +289,7 @@ TEST(FormFactorBasicTest, Bipyramid4)
     Bipyramid4 particle(length, height, height_ratio, alpha);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height * (1 + height_ratio), particle.spanZ(&rot).hig(),
                 height * (1 + height_ratio) * 1e-15);
 
@@ -310,7 +312,7 @@ TEST(FormFactorBasicTest, Cylinder)
     EXPECT_DOUBLE_EQ(volume, particle.volume());
 
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
     RotationX rectX(90 * Units::deg);
@@ -358,7 +360,7 @@ TEST(FormFactorBasicTest, HorizontalCylinder)
     HorizontalCylinder particle_full(R, L);
     EXPECT_DOUBLE_EQ(full_volume, particle_full.volume());
 
-    EXPECT_EQ(0., particle_full.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle_full.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(2 * R, particle_full.spanZ(&rot).hig(), 2 * R * 1e-15);
 
     // truncated
@@ -372,7 +374,7 @@ TEST(FormFactorBasicTest, HorizontalCylinder)
     HorizontalCylinder particle_trunc(R, L, b, t);
     EXPECT_NEAR(trunc_volume, particle_trunc.volume(), 1e-7);
 
-    EXPECT_EQ(0., particle_trunc.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle_trunc.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(t - b, particle_trunc.spanZ(&rot).hig(), 1e-7);
 
     RotationX rot1((pi / 2));
@@ -400,7 +402,7 @@ TEST(FormFactorBasicTest, Dodecahedron)
     Dodecahedron particle(edge);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(2 * 1.11352 * edge, particle.spanZ(&rot).hig(), 1e-4);
     // height=2*inradius from web ressource
 
@@ -420,7 +422,7 @@ TEST(FormFactorBasicTest, EllipsoidalCylinder)
     EllipsoidalCylinder particle(radiusx, radiusy, height);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
     test_ff(&particle);
@@ -461,7 +463,7 @@ TEST(FormFactorBasicTest, Spheroid)
     Spheroid particle(radius, height);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
     test_ff(&particle);
@@ -497,7 +499,7 @@ TEST(FormFactorBasicTest, Icosahedron)
     Icosahedron particle(edge);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(2 * 0.755761 * edge, particle.spanZ(&rot).hig(), 1e-4);
     // height=2*inradius from web ressource
 
@@ -518,7 +520,7 @@ TEST(FormFactorBasicTest, PlatonicOctahedron)
     PlatonicOctahedron particle(edge);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(edge * sqrt(2.), particle.spanZ(&rot).hig(), 1e-4);
 
     test_ff(&particle);
@@ -538,7 +540,7 @@ TEST(FormFactorBasicTest, PlatonicTetrahedron)
     PlatonicTetrahedron particle(edge);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(edge * sqrt(2. / 3.), particle.spanZ(&rot).hig(), 1e-4);
 
     test_ff(&particle);
@@ -560,7 +562,7 @@ TEST(FormFactorBasicTest, Prism3)
     Prism3 particle(base_edge, height);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
     test_ff(&particle);
@@ -582,7 +584,7 @@ TEST(FormFactorBasicTest, Prism6)
     Prism6 particle(base_edge, height);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
     test_ff(&particle);
@@ -609,7 +611,7 @@ TEST(FormFactorBasicTest, Pyramid4)
     Pyramid4 particle(base_edge, height, alpha);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
     test_ff(&particle);
@@ -635,7 +637,7 @@ TEST(FormFactorBasicTest, SawtoothRippleBox)
     SawtoothRippleBox particle(length, width, height, d);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
     // test_ff( &particle ); WAITING: restore once radius returns the umkreis radius
@@ -657,7 +659,7 @@ TEST(FormFactorBasicTest, TruncatedCube)
     TruncatedCube particle(length, t);
     EXPECT_DOUBLE_EQ(particle.volume(), volume);
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(length, particle.spanZ(&rot).hig(), length * 1e-15);
 
     test_ff(&particle);
@@ -682,7 +684,7 @@ TEST(FormFactorBasicTest, TruncatedSphere)
     TruncatedSphere particle(radius, height, 0);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
     test_ff(&particle);
@@ -706,7 +708,7 @@ TEST(FormFactorBasicTest, TruncatedSpheroid)
     TruncatedSpheroid particle(radius, height, flattening, 0);
     EXPECT_DOUBLE_EQ(volume, particle.volume());
     RotationZ rot(.42);
-    EXPECT_EQ(0., particle.spanZ(&rot).low());
+    EXPECT_NEAR(0., particle.spanZ(&rot).low(), eps_span);
     EXPECT_NEAR(height, particle.spanZ(&rot).hig(), height * 1e-15);
 
     test_ff(&particle);