package com.codeaffine.extras.launch.internal.dialog;
import static org.assertj.core.api.Assertions.assertThat;
import org.junit.Before;
import org.junit.Test;
import com.codeaffine.extras.launch.internal.dialog.LaunchConfigSearchPattern;
public class LaunchConfigSearchPatternTest {
private LaunchConfigSearchPattern searchPattern;
@Before
public void setUp() {
searchPattern = new LaunchConfigSearchPattern();
}
@Test
public void testSetPatternToEmptyString() {
searchPattern.setPattern( "" );
assertThat( searchPattern.getPattern() ).isEmpty();
}
@Test
public void testSetPatternToSpace() {
searchPattern.setPattern( " " );
assertThat( searchPattern.getPattern() ).isEqualTo( "* *" );
}
@Test
public void testSetPatternToTrailingSpace() {
searchPattern.setPattern( "pattern " );
assertThat( searchPattern.getPattern() ).isEqualTo( "*pattern *" );
}
@Test
public void testSetPatternToNonEmptyString() {
searchPattern.setPattern( "pattern" );
assertThat( searchPattern.getPattern() ).isEqualTo( "*pattern*" );
}
@Test
public void testMatchEmptyPattern() {
searchPattern.setPattern( "" );
assertThat( searchPattern.matches( "foo" ) ).isTrue();
}
@Test
public void testMatchPrefixPattern() {
searchPattern.setPattern( "pref" );
assertThat( searchPattern.matches( "prefix" ) ).isTrue();
}
@Test
public void testMatchSuffixPattern() {
searchPattern.setPattern( "fix" );
assertThat( searchPattern.matches( "prefix" ) ).isTrue();
}
@Test
public void testMatchAsteriskWildcardPattern() {
searchPattern.setPattern( "f*o" );
assertThat( searchPattern.matches( "fooo" ) ).isTrue();
}
@Test
public void testMatchQuestionMarkWildcardPattern() {
searchPattern.setPattern( "f?o" );
assertThat( searchPattern.matches( "foo" ) ).isTrue();
}
@Test
public void testMatchCamelCasePattern() {
searchPattern.setPattern( "CC" );
assertThat( searchPattern.matches( "CamelCase" ) ).isTrue();
}
@Test
public void testMatchTrailingSpacePattern() {
searchPattern.setPattern( "two " );
assertThat( searchPattern.matches( "two words" ) ).isTrue();
}
}