package rocks.inspectit.shared.all.pattern; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import org.testng.annotations.Test; @SuppressWarnings("PMD") public class WildcardMatchPatternTest { @Test public void trailingPattern() { WildcardMatchPattern matchPattern = new WildcardMatchPattern("*test"); assertThat(matchPattern.match("testtest"), is(true)); assertThat(matchPattern.match("123test"), is(true)); assertThat(matchPattern.match("test"), is(true)); assertThat(matchPattern.match("hello"), is(false)); assertThat(matchPattern.match(""), is(false)); } @Test public void middlePattern() { WildcardMatchPattern matchPattern = new WildcardMatchPattern("test*"); assertThat(matchPattern.match("testtest"), is(true)); assertThat(matchPattern.match("test123"), is(true)); assertThat(matchPattern.match("test"), is(true)); assertThat(matchPattern.match("hello"), is(false)); assertThat(matchPattern.match(""), is(false)); } @Test public void leadingPattern() { WildcardMatchPattern matchPattern = new WildcardMatchPattern("*test*"); assertThat(matchPattern.match("testtesttest"), is(true)); assertThat(matchPattern.match("testtest"), is(true)); assertThat(matchPattern.match("123test123"), is(true)); assertThat(matchPattern.match("test123"), is(true)); assertThat(matchPattern.match("test"), is(true)); assertThat(matchPattern.match("hello"), is(false)); assertThat(matchPattern.match(""), is(false)); } @Test public void mixedPattern() { WildcardMatchPattern matchPattern = new WildcardMatchPattern("test*hello*world"); assertThat(matchPattern.match("test1hello2world"), is(true)); assertThat(matchPattern.match("testhelloworld"), is(true)); assertThat(matchPattern.match("test123helloworld"), is(true)); assertThat(matchPattern.match("hello"), is(false)); assertThat(matchPattern.match(""), is(false)); } @Test public void everythingPattern() { WildcardMatchPattern matchPattern = new WildcardMatchPattern("*"); assertThat(matchPattern.match("test1hello2world"), is(true)); assertThat(matchPattern.match("testhelloworld"), is(true)); assertThat(matchPattern.match("test123helloworld"), is(true)); assertThat(matchPattern.match("hello"), is(true)); assertThat(matchPattern.match(""), is(true)); } @Test public void enhancedTests() { WildcardMatchPattern matchPattern = new WildcardMatchPattern("vsa.nprod.stamm.priv.regelstruktur.server.logic.*.*Evaluator"); assertThat(matchPattern.match("vsa.nprod.stamm.priv.regelstruktur.server.logic.rechnungssplitting.RechnungsSplittingEvaluator"), is(true)); } @Test public void templateSet() { assertThat(new WildcardMatchPattern("*").getPattern(), is("*")); assertThat(new WildcardMatchPattern("test").getPattern(), is("test")); } }