package org.jbehave.eclipse.util; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; import org.jbehave.eclipse.util.StringMatcher; import org.junit.Before; import org.junit.Test; public class StringMatcherTest { private StringMatcher matcher; @Before public void setup () { matcher = new StringMatcher(); } @Test public void no_includes_no_excludes () { assertThat(matcher.isAccepted(null), is(true)); assertThat(matcher.isAccepted(""), is(true)); assertThat(matcher.isAccepted("yeahhhh"), is(true)); } @Test public void one_include_no_excludes () { matcher.addGlobIncludes("*hhhh"); assertThat(matcher.isAccepted(null), is(false)); assertThat(matcher.isAccepted(""), is(false)); assertThat(matcher.isAccepted("yeahhhh"), is(true)); assertThat(matcher.isAccepted("yeahhh"), is(false)); } @Test public void two_includes_no_excludes () { matcher.addGlobIncludes("*hhhh", "b*hhh"); assertThat(matcher.isAccepted(null), is(false)); assertThat(matcher.isAccepted(""), is(false)); assertThat(matcher.isAccepted("yeahhhh"), is(true)); assertThat(matcher.isAccepted("yeahhh"), is(false)); assertThat(matcher.isAccepted("beahhh"), is(true)); } @Test public void no_include_one_exclude () { matcher.addGlobExcludes("y*hhhh"); assertThat(matcher.isAccepted(null), is(true)); assertThat(matcher.isAccepted(""), is(true)); assertThat(matcher.isAccepted("yeahhhh"), is(false)); assertThat(matcher.isAccepted("heahhhh"), is(true)); } @Test public void one_include_one_exclude () { matcher.addGlobIncludes("*hhhh"); matcher.addGlobExcludes("y*hhhh"); assertThat(matcher.isAccepted(null), is(false)); assertThat(matcher.isAccepted(""), is(false)); assertThat(matcher.isAccepted("yeahhhh"), is(false)); assertThat(matcher.isAccepted("heahhhh"), is(true)); assertThat(matcher.isAccepted("heahhh"), is(false)); } @Test public void no_include_two_excludes () { matcher.addGlobExcludes("y*hhhh", "?e*"); assertThat(matcher.isAccepted(null), is(true)); assertThat(matcher.isAccepted(""), is(true)); assertThat(matcher.isAccepted("yeahhhh"), is(false)); assertThat(matcher.isAccepted("hea"), is(false)); assertThat(matcher.isAccepted("hheahhh"), is(true)); assertThat(matcher.isAccepted("hheahhh"), is(true)); } }