From 31522e166f9283c8ce35e20de2871e5fe5356e01 Mon Sep 17 00:00:00 2001 From: Douglas Q Hawkins Date: Mon, 29 Jun 2026 10:29:53 -0400 Subject: [PATCH 1/2] Add missing coverage tests for Matchers.AnyMatcher primitive overloads The existing parameterized tests always dispatch through matches(Object), leaving the 9 primitive overloads uncovered. Co-Authored-By: Claude Sonnet 4.6 --- .../datadog/trace/core/util/MatchersTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/dd-trace-core/src/test/java/datadog/trace/core/util/MatchersTest.java b/dd-trace-core/src/test/java/datadog/trace/core/util/MatchersTest.java index 3eaea551323..ff76052630b 100644 --- a/dd-trace-core/src/test/java/datadog/trace/core/util/MatchersTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/util/MatchersTest.java @@ -8,6 +8,7 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.util.stream.Stream; +import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -113,4 +114,20 @@ void aPatternMatcherTest(String scenario, String pattern, Object value, boolean assertEquals(matches, matcher.matches(value)); } + + @Test + void anyMatcherMatchesAllPrimitiveOverloads() { + Matcher any = Matchers.ANY; + assertTrue(any.matches("hello")); + assertTrue(any.matches((CharSequence) new StringBuilder("world"))); + assertTrue(any.matches(true)); + assertTrue(any.matches((byte) 1)); + assertTrue(any.matches((short) 2)); + assertTrue(any.matches(42)); + assertTrue(any.matches(100L)); + assertTrue(any.matches(1.5f)); + assertTrue(any.matches(3.14)); + assertTrue(any.matches(new BigInteger("123"))); + assertTrue(any.matches(new BigDecimal("1.23"))); + } } From dccb4a0918c10cb63bed4d18596e767906a7ccee Mon Sep 17 00:00:00 2001 From: Douglas Q Hawkins Date: Mon, 29 Jun 2026 10:31:19 -0400 Subject: [PATCH 2/2] Split AnyMatcher overload tests into individual test cases Co-Authored-By: Claude Sonnet 4.6 --- .../datadog/trace/core/util/MatchersTest.java | 65 +++++++++++++++---- 1 file changed, 52 insertions(+), 13 deletions(-) diff --git a/dd-trace-core/src/test/java/datadog/trace/core/util/MatchersTest.java b/dd-trace-core/src/test/java/datadog/trace/core/util/MatchersTest.java index ff76052630b..e7a0c96bc35 100644 --- a/dd-trace-core/src/test/java/datadog/trace/core/util/MatchersTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/core/util/MatchersTest.java @@ -116,18 +116,57 @@ void aPatternMatcherTest(String scenario, String pattern, Object value, boolean } @Test - void anyMatcherMatchesAllPrimitiveOverloads() { - Matcher any = Matchers.ANY; - assertTrue(any.matches("hello")); - assertTrue(any.matches((CharSequence) new StringBuilder("world"))); - assertTrue(any.matches(true)); - assertTrue(any.matches((byte) 1)); - assertTrue(any.matches((short) 2)); - assertTrue(any.matches(42)); - assertTrue(any.matches(100L)); - assertTrue(any.matches(1.5f)); - assertTrue(any.matches(3.14)); - assertTrue(any.matches(new BigInteger("123"))); - assertTrue(any.matches(new BigDecimal("1.23"))); + void anyMatcherMatchesString() { + assertTrue(Matchers.ANY.matches("hello")); + } + + @Test + void anyMatcherMatchesCharSequence() { + assertTrue(Matchers.ANY.matches((CharSequence) new StringBuilder("world"))); + } + + @Test + void anyMatcherMatchesBoolean() { + assertTrue(Matchers.ANY.matches(true)); + } + + @Test + void anyMatcherMatchesByte() { + assertTrue(Matchers.ANY.matches((byte) 1)); + } + + @Test + void anyMatcherMatchesShort() { + assertTrue(Matchers.ANY.matches((short) 2)); + } + + @Test + void anyMatcherMatchesInt() { + assertTrue(Matchers.ANY.matches(42)); + } + + @Test + void anyMatcherMatchesLong() { + assertTrue(Matchers.ANY.matches(100L)); + } + + @Test + void anyMatcherMatchesFloat() { + assertTrue(Matchers.ANY.matches(1.5f)); + } + + @Test + void anyMatcherMatchesDouble() { + assertTrue(Matchers.ANY.matches(3.14)); + } + + @Test + void anyMatcherMatchesBigInteger() { + assertTrue(Matchers.ANY.matches(new BigInteger("123"))); + } + + @Test + void anyMatcherMatchesBigDecimal() { + assertTrue(Matchers.ANY.matches(new BigDecimal("1.23"))); } }