package org.springside.modules.utils.io; import static org.assertj.core.api.Assertions.*; import java.io.File; import java.io.IOException; import java.util.List; import org.junit.Test; import org.springside.modules.utils.number.RandomUtil; public class FileTreeWalkerTest { @Test public void listFile() throws IOException { File tmpDir = FileUtil.createTempDir(); List<File> all = FileTreeWalker.listAll(tmpDir); assertThat(all).hasSize(1); List<File> files = FileTreeWalker.listFile(tmpDir); assertThat(files).hasSize(0); FileUtil.touch(FilePathUtil.contact(tmpDir.getAbsolutePath(), "tmp-" + RandomUtil.nextInt()) + ".tmp"); FileUtil.touch(FilePathUtil.contact(tmpDir.getAbsolutePath(), "tmp-" + RandomUtil.nextInt()) + ".abc"); String childDir = FilePathUtil.contact(tmpDir.getAbsolutePath(), "tmp-" + RandomUtil.nextInt()); FileUtil.makesureDirExists(childDir); FileUtil.touch(FilePathUtil.contact(childDir, "tmp-" + RandomUtil.nextInt()) + ".tmp"); all = FileTreeWalker.listAll(tmpDir); assertThat(all).hasSize(5); files = FileTreeWalker.listFile(tmpDir); assertThat(files).hasSize(3); //extension files = FileTreeWalker.listFileWithExtension(tmpDir, "tmp"); assertThat(files).hasSize(2); files = FileTreeWalker.listFileWithExtension(tmpDir, "tp"); assertThat(files).hasSize(0); //wildcard files = FileTreeWalker.listFileWithWildcardFileName(tmpDir, "*.tmp"); assertThat(files).hasSize(2); files = FileTreeWalker.listFileWithWildcardFileName(tmpDir, "*.tp"); assertThat(files).hasSize(0); //regex files = FileTreeWalker.listFileWithRegexFileName(tmpDir, ".*\\.tmp"); assertThat(files).hasSize(2); files = FileTreeWalker.listFileWithRegexFileName(tmpDir, ".*\\.tp"); assertThat(files).hasSize(0); //antpath files = FileTreeWalker.listFileWithAntPath(tmpDir, "**/*.tmp"); assertThat(files).hasSize(2); files = FileTreeWalker.listFileWithAntPath(tmpDir, "*/*.tmp"); assertThat(files).hasSize(1); files = FileTreeWalker.listFileWithAntPath(tmpDir, "*.tp"); assertThat(files).hasSize(0); FileUtil.deleteDir(tmpDir); assertThat(FileUtil.isDirExists(tmpDir)).isFalse(); } }