diff --git a/src/test/java/org/apache/commons/text/StringSubstitutorTest.java b/src/test/java/org/apache/commons/text/StringSubstitutorTest.java
index 4970755..ae9834f 100644
--- a/src/test/java/org/apache/commons/text/StringSubstitutorTest.java
+++ b/src/test/java/org/apache/commons/text/StringSubstitutorTest.java
@@ -224,21 +224,6 @@
             target.getValueDelimiterMatcher().toString());
     }
 
-    @Test
-    public void testGetMinVariableLength() throws IOException {
-        final StringSubstitutor sub = new StringSubstitutor();
-        assertEquals(4, sub.getMinVariableLength());
-        sub.setVariablePrefix('a');
-        assertEquals(3, sub.getMinVariableLength());
-        sub.setVariablePrefix("abc");
-        assertEquals(5, sub.getMinVariableLength());
-        sub.setVariableSuffix("xyz");
-        assertEquals(7, sub.getMinVariableLength());
-        sub.setVariablePrefix(StringUtils.EMPTY);
-        sub.setVariableSuffix(StringUtils.EMPTY);
-        assertEquals(1, sub.getMinVariableLength());
-    }
-
 
     /**
      * Tests get set.
