// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved.
// Released under the terms of the CPL Common Public License version 1.0.
package util;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import junit.framework.TestCase;
public class WildcardTest extends TestCase {
private File testDir;
private static final String TEST_DIR = "testDir";
public void setUp() throws Exception {
deleteSampleFiles();
makeSampleFiles();
testDir = new File(TEST_DIR);
}
public void tearDown() throws Exception {
deleteSampleFiles();
}
public void testJar() throws Exception {
Wildcard wildcard = new Wildcard("*.jar");
File[] files = testDir.listFiles(wildcard);
List<String> list = fileArrayToStringList(files);
assertEquals(2, files.length);
assertTrue(list.contains("one.jar"));
assertTrue(list.contains("two.jar"));
}
public void testDll() throws Exception {
Wildcard wildcard = new Wildcard("*.dll");
File[] files = testDir.listFiles(wildcard);
List<String> list = fileArrayToStringList(files);
assertEquals(2, files.length);
assertTrue(list.contains("one.dll"));
assertTrue(list.contains("two.dll"));
}
public void testOne() throws Exception {
Wildcard wildcard = new Wildcard("one*");
File[] files = testDir.listFiles(wildcard);
List<String> list = fileArrayToStringList(files);
assertEquals(3, files.length);
assertTrue(list.contains("oneA"));
assertTrue(list.contains("one.jar"));
assertTrue(list.contains("one.dll"));
}
public void testAll() throws Exception {
Wildcard wildcard = new Wildcard("*");
File[] files = testDir.listFiles(wildcard);
assertEquals(6, files.length);
}
private List<String> fileArrayToStringList(File[] files) {
List<String> list = new ArrayList<String>();
for (int i = 0; i < files.length; i++) {
File file = files[i];
list.add(file.getName());
}
return list;
}
public static void makeSampleFiles() {
FileUtil.makeDir(TEST_DIR);
FileUtil.createFile(TEST_DIR + "/one.jar", "");
FileUtil.createFile(TEST_DIR + "/two.jar", "");
FileUtil.createFile(TEST_DIR + "/one.dll", "");
FileUtil.createFile(TEST_DIR + "/two.dll", "");
FileUtil.createFile(TEST_DIR + "/oneA", "");
FileUtil.createFile(TEST_DIR + "/twoA", "");
}
public static void deleteSampleFiles() {
FileUtil.deleteFileSystemDirectory(TEST_DIR);
}
}