/*
* Copyright (C) Lennart Martens
*
* Contact: lennart.martens AT UGent.be (' AT ' to be replaced with '@')
*/
/*
* Created by IntelliJ IDEA.
* User: Lennart
* Date: 25-nov-02
* Time: 16:17:26
*/
package com.compomics.util.test.io;
import com.compomics.util.io.FilenameExtensionFilter;
import com.compomics.util.junit.TestCaseLM;
import junit.framework.Assert;
import junit.framework.TestCase;
import org.apache.log4j.Logger;
import java.io.File;
/*
* CVS information:
*
* $Revision: 1.3 $
* $Date: 2007/07/06 09:41:53 $
*/
/**
* This class implements the test scenario for the FilenameExtensionFilter class.
*
* @author Lennart Martens
* @see com.compomics.util.io.FilenameExtensionFilter
*/
public class TestFilenameExtensionFilter extends TestCase {
// Class specific log4j logger for TestFilenameExtensionFilter instances.
Logger logger = Logger.getLogger(TestFilenameExtensionFilter.class);
public TestFilenameExtensionFilter() {
this("Test for the FilenameExtensionFilter class.");
}
public TestFilenameExtensionFilter(String aName) {
super(aName);
}
/**
* This method test the filter.
*/
public void testFilter() {
final String filter = ".properties";
int counter = 0;
// First get the data we need to verify the results afterwards.
File f = new File(TestCaseLM.getFullFilePath("FTPClient.properties").replace("%20", " ")).getParentFile();
String[] names = f.list();
for(int i = 0; i < names.length; i++) {
String lName = names[i];
if(lName.endsWith(filter)) {
counter++;
}
}
// Okay, we now know how many results we can expect.
// Test the filter.
FilenameExtensionFilter fef = new FilenameExtensionFilter(filter);
names = f.list(fef);
Assert.assertEquals(counter, names.length);
// Test the filter without the leading '.'.
fef = new FilenameExtensionFilter(filter.substring(1));
names = f.list(fef);
Assert.assertEquals(counter, names.length);
// Test the filter with the leading '.' and a leading '*'.
fef = new FilenameExtensionFilter("*" + filter);
names = f.list(fef);
Assert.assertEquals(counter, names.length);
// Test the filter without the leading '.', but with a leading '*'.
fef = new FilenameExtensionFilter("*" + filter.substring(1));
names = f.list(fef);
Assert.assertEquals(counter, names.length);
}
}