package tests;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(CheckerParameterized.class)
public abstract class ParameterizedCheckerTest extends CheckerTest {
private final File testFile;
public ParameterizedCheckerTest(File testFile,
String checkerName, String checkerDir, String... checkerOptions) {
super(checkerName, checkerDir, checkerOptions);
this.testFile = testFile;
}
@Test public void run() {
test(testFile);
}
protected static Collection<Object[]> testFiles(String folder) {
File dir = new File("tests" + File.separator + folder);
List<File> javaFiles = TestUtilities.deeplyEnclosedJavaTestFiles(dir);
Collection<Object[]> arguments = new ArrayList<Object[]>(javaFiles.size());
for (File javaFile : javaFiles) {
arguments.add(new Object[] { javaFile });
}
return arguments;
}
}