@Override public WildcardMatcher convert(String s) { return WildcardMatcher.valueOf(s); }
@Test void testDisabledMetrics() { when(config.getDisableMetrics()).thenReturn(List.of(WildcardMatcher.valueOf("jvm.gc.*"))); final DoubleSupplier problematicMetric = () -> { throw new RuntimeException("Huston, we have a problem"); }; metricRegistry.addUnlessNegative("jvm.gc.count", emptyMap(), problematicMetric); metricRegistry.addUnlessNan("jvm.gc.count", emptyMap(), problematicMetric); metricRegistry.add("jvm.gc.count", emptyMap(), problematicMetric); assertThat(metricRegistry.getMetricSets()).isEmpty(); } }
@Test void testInfixEmptyMatcher() { final WildcardMatcher matcher = WildcardMatcher.valueOf("**"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("**"); softly.assertThat(matcher.matches("")).isTrue(); softly.assertThat(matcher.matches("foo")).isTrue(); }); }
@Test void testInfixEmptyMatcher_ignoreCase() { final WildcardMatcher matcher = WildcardMatcher.valueOf("**"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("**"); softly.assertThat(matcher.matches("")).isTrue(); softly.assertThat(matcher.matches("foo")).isTrue(); }); }
@Test void testMatchesInfix_caseSensitive() { final WildcardMatcher matcher = WildcardMatcher.valueOf("(?-i)*foo*"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("(?-i)*foo*"); softly.assertThat(matcher.matches("foo")).isTrue(); softly.assertThat(matcher.matches("FOO")).isFalse(); }); }
@Test void testMatchesEquals() { final WildcardMatcher matcher = WildcardMatcher.valueOf("foo"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("foo"); softly.assertThat(matcher.matches("foo")).isTrue(); softly.assertThat(matcher.matches("foobar")).isFalse(); softly.assertThat(matcher.matches("bar")).isFalse(); softly.assertThat(matcher.matches("barfoo")).isFalse(); }); }
@Test void testMatchesInfixPartitionedString_notAllocationFree() { final WildcardMatcher matcher = WildcardMatcher.valueOf("*foo*"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("*foo*"); // requires concatenating the string softly.assertThat(matcher.matches("fo", "o")).isTrue(); softly.assertThat(matcher.matches("fo", null)).isFalse(); softly.assertThat(matcher.matches("barfo", "obaz")).isTrue(); softly.assertThat(matcher.matches("bar", "baz")).isFalse(); }); }
@Test void testMatchesNoWildcard() { final WildcardMatcher matcher = WildcardMatcher.valueOf("foo"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("foo"); // requires concatenating the string softly.assertThat(matcher.matches("fo", "o")).isTrue(); softly.assertThat(matcher.matches("foo")).isTrue(); softly.assertThat(matcher.matches("foo", "bar")).isFalse(); softly.assertThat(matcher.matches("foobar")).isFalse(); }); }
@Test void testMatchesStartsWith_ignoreCase() { final WildcardMatcher matcher = WildcardMatcher.valueOf("foo*"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("foo*"); softly.assertThat(matcher.matches("foo")).isTrue(); softly.assertThat(matcher.matches("foobar")).isTrue(); softly.assertThat(matcher.matches("bar")).isFalse(); softly.assertThat(matcher.matches("barfoo")).isFalse(); }); }
@Test void testMatchesNoWildcard_ignoreCase() { final WildcardMatcher matcher = WildcardMatcher.valueOf("foo"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("foo"); softly.assertThat(matcher.matches("FO", "O")).isTrue(); softly.assertThat(matcher.matches("FOO")).isTrue(); softly.assertThat(matcher.matches("foO", "Bar")).isFalse(); softly.assertThat(matcher.matches("foobar")).isFalse(); }); }
@Test void testMatchesEquals_ignoreCase() { final WildcardMatcher matcher = WildcardMatcher.valueOf("foo"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("foo"); softly.assertThat(matcher.matches("fOo")).isTrue(); softly.assertThat(matcher.matches("foOBar")).isFalse(); softly.assertThat(matcher.matches("BAR")).isFalse(); softly.assertThat(matcher.matches("barfoo")).isFalse(); }); }
@Test void testWildcardInTheMiddle() { final WildcardMatcher matcher = WildcardMatcher.valueOf("/foo/*/baz"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("/foo/*/baz"); softly.assertThat(matcher.matches("/foo/bar/baz")).isTrue(); softly.assertThat(matcher.matches("/foo/bar", "/baz")).isTrue(); softly.assertThat(matcher.matches("/foo/bar/b", "az")).isTrue(); softly.assertThat(matcher.matches("/foo/bar", "/boaz")).isFalse(); softly.assertThat(matcher.matches("/foo/bar")).isFalse(); }); }
@Test void testMatchesStartsWith() { final WildcardMatcher matcher = WildcardMatcher.valueOf("foo*"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("foo*"); softly.assertThat(matcher.matches("foo")).isTrue(); softly.assertThat(matcher.matches("foobar")).isTrue(); softly.assertThat(matcher.matches("bar")).isFalse(); softly.assertThat(matcher.matches("barfoo")).isFalse(); softly.assertThat(matcher.matches("rfoo")).isFalse(); }); }
@Test void testCompoundWildcardMatcher4() { final WildcardMatcher matcher = WildcardMatcher.valueOf("*foo*far*"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("*foo*far*"); softly.assertThat(matcher.matches("foofar")).isTrue(); softly.assertThat(matcher.matches("foo/far/foo/baz")).isTrue(); softly.assertThat(matcher.matches("/foo/far/baz")).isTrue(); softly.assertThat(matcher.matches("/far/foo")).isFalse(); softly.assertThat(matcher.matches("farfoo")).isFalse(); }); }
@Test void testMatchesInfix() { final WildcardMatcher matcher = WildcardMatcher.valueOf("*foo*"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("*foo*"); softly.assertThat(matcher.matches("foo")).isTrue(); softly.assertThat(matcher.matches("foobar")).isTrue(); softly.assertThat(matcher.matches("bar")).isFalse(); softly.assertThat(matcher.matches("barfoo")).isTrue(); softly.assertThat(matcher.matches("barfoobaz")).isTrue(); }); }
@Test void testMatchesInfix_ignoreCase() { final WildcardMatcher matcher = WildcardMatcher.valueOf("*foo*"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("*foo*"); softly.assertThat(matcher.matches("FOO")).isTrue(); softly.assertThat(matcher.matches("foOBar")).isTrue(); softly.assertThat(matcher.matches("BAR")).isFalse(); softly.assertThat(matcher.matches("baRFOo")).isTrue(); softly.assertThat(matcher.matches("BARFOOBAZ")).isTrue(); }); }
@Test void testMatchesEndsWith() { final WildcardMatcher matcher = WildcardMatcher.valueOf("*foo"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("*foo"); softly.assertThat(matcher.matches("foo")).isTrue(); softly.assertThat(matcher.matches("foobar")).isFalse(); softly.assertThat(matcher.matches("bar")).isFalse(); softly.assertThat(matcher.matches("barfoo")).isTrue(); softly.assertThat(matcher.matches("foor")).isFalse(); }); }
@Test void testCompoundWildcardMatcher3() { final WildcardMatcher matcher = WildcardMatcher.valueOf("*foo*oo*"); assertSoftly(softly -> { softly.assertThat(matcher.toString()).isEqualTo("*foo*oo*"); softly.assertThat(matcher.matches("foooo")).isTrue(); softly.assertThat(matcher.matches("foofoo")).isTrue(); softly.assertThat(matcher.matches("foo/bar/foo")).isTrue(); softly.assertThat(matcher.matches("/foo/bar/foo/bar")).isTrue(); softly.assertThat(matcher.matches("foo")).isFalse(); softly.assertThat(matcher.matches("fooo")).isFalse(); }); }
@Test void testMatchesPartitionedStringEndsWith() { final WildcardMatcher matcher = WildcardMatcher.valueOf("*/bar/baz"); assertSoftly(softly -> { softly.assertThat(matcher.matches("/foo/bar/baz", "")).isTrue(); softly.assertThat(matcher.matches("", "/foo/bar/baz")).isTrue(); softly.assertThat(matcher.matches("/foo/bar", "/baz")).isTrue(); softly.assertThat(matcher.matches("/foo", "/bar/baz")).isTrue(); softly.assertThat(matcher.matches("/foo", "/bar/baz")).isTrue(); softly.assertThat(matcher.matches("/bar", "/foo/baz")).isFalse(); softly.assertThat(matcher.matches("/foo", "/foo/baz")).isFalse(); }); }