From 86a919e9bf457005b3caa84b6d5f8308ab90328c Mon Sep 17 00:00:00 2001 From: TheRealHaui Date: Fri, 14 Nov 2025 18:49:56 +0100 Subject: [PATCH 1/2] Added new Unit Tests to increase coverage --- .../commons/text/StringSubstitutorTest.java | 7 +++++++ .../text/similarity/HammingDistanceTest.java | 15 +++++++++++++++ .../text/similarity/JaroWinklerDistanceTest.java | 10 ++++++++++ .../similarity/JaroWinklerSimilarityTest.java | 10 ++++++++++ 4 files changed, 42 insertions(+) diff --git a/src/test/java/org/apache/commons/text/StringSubstitutorTest.java b/src/test/java/org/apache/commons/text/StringSubstitutorTest.java index 0f1fbf4339..3692653f10 100644 --- a/src/test/java/org/apache/commons/text/StringSubstitutorTest.java +++ b/src/test/java/org/apache/commons/text/StringSubstitutorTest.java @@ -1078,4 +1078,11 @@ void testSubstitutePreserveEscape() throws IOException { assertEqualsCharSeq("value $${escaped}", replace(sub, org)); } + @Test + void testDetectsCyclicSubstitution() { + final Map map = new HashMap<>(); + map.put("name", ""); + assertThrows(IllegalStateException.class, () -> StringSubstitutor.replace("Hi !", map, "<", ">")); + } + } diff --git a/src/test/java/org/apache/commons/text/similarity/HammingDistanceTest.java b/src/test/java/org/apache/commons/text/similarity/HammingDistanceTest.java index 181d2fe277..918a7bedc2 100644 --- a/src/test/java/org/apache/commons/text/similarity/HammingDistanceTest.java +++ b/src/test/java/org/apache/commons/text/similarity/HammingDistanceTest.java @@ -59,6 +59,21 @@ void testHammingDistance_nullRightValue() { assertThrows(IllegalArgumentException.class, () -> distance.apply("", null)); } + @Test + void testApply_NullSimilarityInput() { + assertThrows(IllegalArgumentException.class, () -> distance.apply(null, new SimilarityCharacterInput("a"))); + } + + @Test + void testApply_SimilarityInputNull() { + assertThrows(IllegalArgumentException.class, () -> distance.apply(new SimilarityCharacterInput("a"), null)); + } + + @Test + void testApply_DifferentSimilarityInputLength() { + assertThrows(IllegalArgumentException.class, () -> distance.apply(new SimilarityCharacterInput("a"), new SimilarityCharacterInput("ab"))); + } + @Test void testHammingDistanceCharSequence() { assertEquals(0, distance.apply("", "")); diff --git a/src/test/java/org/apache/commons/text/similarity/JaroWinklerDistanceTest.java b/src/test/java/org/apache/commons/text/similarity/JaroWinklerDistanceTest.java index f1242fb301..412f1e721c 100644 --- a/src/test/java/org/apache/commons/text/similarity/JaroWinklerDistanceTest.java +++ b/src/test/java/org/apache/commons/text/similarity/JaroWinklerDistanceTest.java @@ -95,4 +95,14 @@ void testGetJaroWinklerDistance_StringString() { assertEquals(1 - 0.51111d, distance.apply("foo", " foo"), 0.00001d); } + @Test + void testApply_NullSimilarityInput() { + assertThrows(IllegalArgumentException.class, () -> distance.apply(null, new SimilarityCharacterInput("a"))); + } + + @Test + void testApply_SimilarityInputNull() { + assertThrows(IllegalArgumentException.class, () -> distance.apply(new SimilarityCharacterInput("a"), null)); + } + } diff --git a/src/test/java/org/apache/commons/text/similarity/JaroWinklerSimilarityTest.java b/src/test/java/org/apache/commons/text/similarity/JaroWinklerSimilarityTest.java index a5acfb2394..3c236a6225 100644 --- a/src/test/java/org/apache/commons/text/similarity/JaroWinklerSimilarityTest.java +++ b/src/test/java/org/apache/commons/text/similarity/JaroWinklerSimilarityTest.java @@ -136,4 +136,14 @@ void testGetJaroWinklerSimilarity_StringString() { assertEquals(0.911111d, similarity.apply(wrap("John Horn"), "John Hopkins"), 0.00001d); } + @Test + void testApply_NullSimilarityInput() { + assertThrows(IllegalArgumentException.class, () -> similarity.apply(null, new SimilarityCharacterInput("a"))); + } + + @Test + void testApply_SimilarityInputNull() { + assertThrows(IllegalArgumentException.class, () -> similarity.apply(new SimilarityCharacterInput("a"), null)); + } + } From 98450444635fd72f0e7813667e02570d026340e8 Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Fri, 14 Nov 2025 13:43:15 -0500 Subject: [PATCH 2/2] Remove trailing whitespace --- .../commons/text/similarity/JaroWinklerSimilarityTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/apache/commons/text/similarity/JaroWinklerSimilarityTest.java b/src/test/java/org/apache/commons/text/similarity/JaroWinklerSimilarityTest.java index 3c236a6225..0b1f97052a 100644 --- a/src/test/java/org/apache/commons/text/similarity/JaroWinklerSimilarityTest.java +++ b/src/test/java/org/apache/commons/text/similarity/JaroWinklerSimilarityTest.java @@ -145,5 +145,5 @@ void testApply_NullSimilarityInput() { void testApply_SimilarityInputNull() { assertThrows(IllegalArgumentException.class, () -> similarity.apply(new SimilarityCharacterInput("a"), null)); } - + }