package haushalt.gui; import static org.fest.assertions.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.io.File; import org.junit.Before; import org.junit.Test; public class JHaushaltFileFilterTest { private JHaushaltFileFilter filter; private File anyDirectory; private File testFile; @Before public void setUp() { filter = new JHaushaltFileFilter(); anyDirectory = mock(File.class); when(anyDirectory.isDirectory()).thenReturn(true); testFile = mock(File.class); when(testFile.isDirectory()).thenReturn(false); } @Test public void filterAcceptsDirectories() { assertThat(filter.accept(anyDirectory)).isTrue(); } @Test public void filterFilesAcceptsSpecificFileEndingInLowerCase() { when(testFile.getName()).thenReturn("/ANY/PATH/to/haushaltsFile.jhh"); assertThat(filter.accept(testFile)).isTrue(); } @Test public void filterFilesAcceptsSpecificFilesEndingInUpperCase() { when(testFile.getName()).thenReturn("/ANY/PATH/to/haushaltsFile.JHH"); assertThat(filter.accept(testFile)).isTrue(); } @Test public void filterFilesDeniesFilesWithoutEnding() { when(testFile.getName()).thenReturn("/ANY/PATH/to/haushaltsFile"); assertThat(filter.accept(testFile)).isFalse(); } @Test public void filterFilesDeniesFilesWithWrongEnding() { when(testFile.getName()).thenReturn("/ANY/PATH/to/haushaltsFile.txt"); assertThat(filter.accept(testFile)).isFalse(); } }