peer-at-code-parser-java/test/GlobalCover.java

47 lines
1.3 KiB
Java

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 be.jeffcheasey88.peeratcode.parser.TokenValidator;
import be.jeffcheasey88.peeratcode.parser.java.JavaFile;
import be.jeffcheasey88.peeratcode.parser.java.JavaParser;
class GlobalCover {
@Test
void workspace() throws Exception{
JavaParser parser = new JavaParser();
List<File> files = files(new File("C:\\Users\\jeffc\\eclipse-workspace"));
int validated = 0;
double tokens = 0;
int count = 0;
long time = System.currentTimeMillis();
for(File file : files){
if(file.getName().endsWith(".java")){
parser.parse(new BufferedReader(new FileReader(file)), new JavaFile());
validated += TokenValidator.MAX_VALIDATE;
tokens += TokenValidator.TOKENS;
TokenValidator.MAX_VALIDATE = 0;
TokenValidator.TOKENS = 0;
count++;
}
}
System.out.println("Load time : "+((System.currentTimeMillis()-time)/1000.0)+"s");
System.out.printf("%.3f%% ("+validated+") validated in "+count+" files !\n", ((validated/tokens)*100.0));
}
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;
}
}