peer-at-code-parser-java/test/dev/peerat/parser/java/UtilsTests.java

63 lines
1.7 KiB
Java

package dev.peerat.parser.java;
import static org.junit.Assert.assertTrue;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.Test;
import dev.peerat.parser.Parser;
class UtilsTests {
@Test
void main() throws Exception{
List<File> files = load(new File("workspaces.txt"));
long time = System.currentTimeMillis();
for(File file : files){
if(!file.getName().endsWith(".java")) continue;
System.out.println("LOOKING "+file);
String result = "";
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
while((line = reader.readLine()) != null) result+=line+"\n";
reader.close();
Parser<JavaElement> parser = new JavaParser();
JavaFile javaFile = new JavaFile();
parser.parse(result, javaFile);
}
assertTrue((System.currentTimeMillis()-time) < 30000);
}
private List<File> load(File config) throws Exception{
System.out.println("loading "+config.getAbsolutePath());
BufferedReader reader = new BufferedReader(new FileReader(config));
List<File> workspaces = new ArrayList<>();
String line;
while((line = reader.readLine()) != null) workspaces.add(new File(line));
reader.close();
System.out.println("loaded "+workspaces.size()+" workspaces");
List<File> result = new ArrayList<>();
for(File workspace : workspaces){
result.addAll(files(workspace));
System.out.println("Loaded["+result.size()+"] "+workspace.getAbsolutePath());
}
return result;
}
private List<File> files(File dir){
List<File> result = new ArrayList<>();
if(dir.isDirectory()){
for(File file : dir.listFiles()) result.addAll(files(file));
}else result.add(dir);
return result;
}
}