diff --git a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/ConvexSubPlaneTest.java b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/ConvexSubPlaneTest.java
index b4063cb..eb8c11e 100644
--- a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/ConvexSubPlaneTest.java
+++ b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/ConvexSubPlaneTest.java
@@ -597,6 +597,22 @@
         Assert.assertSame(sp, split.getPlus());
     }
 
+    @Test
+    public void testToString() {
+        // arrange
+        ConvexSubPlane sp = ConvexSubPlane.fromVertexLoop(Arrays.asList(
+                    Vector3D.ZERO,
+                    Vector3D.Unit.PLUS_X,
+                    Vector3D.Unit.PLUS_Y
+                ), TEST_PRECISION);
+
+        // act
+        String str = sp.toString();
+
+        // assert
+        Assert.assertTrue(str.contains("plane=") && str.contains("subspaceRegion="));
+    }
+
     private static void checkPlane(Plane plane, Vector3D origin, Vector3D u, Vector3D v) {
         u = u.normalize();
         v = v.normalize();
diff --git a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/SubPlaneTest.java b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/SubPlaneTest.java
index 390afc0..075d271 100644
--- a/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/SubPlaneTest.java
+++ b/commons-geometry-euclidean/src/test/java/org/apache/commons/geometry/euclidean/threed/SubPlaneTest.java
@@ -394,6 +394,18 @@
     }
 
     @Test
+    public void testToString() {
+        // arrange
+        SubPlane sp = new SubPlane(Plane.fromNormal(Vector3D.Unit.PLUS_Z, TEST_PRECISION));
+
+        // act
+        String str = sp.toString();
+
+        // assert
+        Assert.assertTrue(str.contains("plane=") && str.contains("subspaceRegion="));
+    }
+
+    @Test
     public void testBuilder() {
         // arrange
         Plane mainPlane = Plane.fromPointAndPlaneVectors(
