package games.strategy.ui;
import static games.strategy.ui.SwingComponents.appendExtensionIfAbsent;
import static games.strategy.ui.SwingComponents.extensionWithLeadingPeriod;
import static games.strategy.ui.SwingComponents.extensionWithoutLeadingPeriod;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import java.io.File;
import org.junit.Test;
public final class SwingComponentsTest {
@Test
public void testAppendExtensionIfAbsent_ShouldAppendExtensionWhenExtensionAbsent() {
assertThat(appendExtensionIfAbsent(new File("path/file.aaa"), "bbb"), is(new File("path/file.aaa.bbb")));
assertThat(appendExtensionIfAbsent(new File("path/filebbb"), "bbb"), is(new File("path/filebbb.bbb")));
}
@Test
public void testAppendExtensionIfAbsent_ShouldNotAppendExtensionWhenExtensionPresent() {
assertThat(appendExtensionIfAbsent(new File("path/file.bbb"), "bbb"), is(new File("path/file.bbb")));
}
@Test
public void testAppendExtensionIfAbsent_ShouldHandleExtensionThatStartsWithPeriod() {
assertThat(appendExtensionIfAbsent(new File("path/file.aaa"), ".bbb"), is(new File("path/file.aaa.bbb")));
}
@Test
public void testAppendExtensionIfAbsent_ShouldUseCaseInsensitiveComparisonForExtension() {
assertThat(appendExtensionIfAbsent(new File("path/file.bBb"), "BbB"), is(new File("path/file.bBb")));
}
@Test
public void testExtensionWithLeadingPeriod() {
assertThat(extensionWithLeadingPeriod(""), is(""));
assertThat(extensionWithLeadingPeriod("a"), is(".a"));
assertThat(extensionWithLeadingPeriod(".a"), is(".a"));
assertThat(extensionWithLeadingPeriod("aa"), is(".aa"));
assertThat(extensionWithLeadingPeriod(".aa"), is(".aa"));
assertThat(extensionWithLeadingPeriod("aaa"), is(".aaa"));
assertThat(extensionWithLeadingPeriod(".aaa"), is(".aaa"));
assertThat(extensionWithLeadingPeriod("aaa.aaa"), is(".aaa.aaa"));
assertThat(extensionWithLeadingPeriod(".aaa.aaa"), is(".aaa.aaa"));
}
@Test
public void testExtensionWithoutLeadingPeriod() {
assertThat(extensionWithoutLeadingPeriod(""), is(""));
assertThat(extensionWithoutLeadingPeriod("a"), is("a"));
assertThat(extensionWithoutLeadingPeriod(".a"), is("a"));
assertThat(extensionWithoutLeadingPeriod("aa"), is("aa"));
assertThat(extensionWithoutLeadingPeriod(".aa"), is("aa"));
assertThat(extensionWithoutLeadingPeriod("aaa"), is("aaa"));
assertThat(extensionWithoutLeadingPeriod(".aaa"), is("aaa"));
assertThat(extensionWithoutLeadingPeriod("aaa.aaa"), is("aaa.aaa"));
assertThat(extensionWithoutLeadingPeriod(".aaa.aaa"), is("aaa.aaa"));
}
}