38 lines
985 B
Java
38 lines
985 B
Java
package dev.peerat.parser.java.element;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.function.Consumer;
|
|
import java.util.function.Supplier;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import dev.peerat.parser.Parser;
|
|
import dev.peerat.parser.java.JavaElement;
|
|
import dev.peerat.parser.java.JavaFile;
|
|
import dev.peerat.parser.java.JavaParser;
|
|
|
|
public class BaseElementTests{
|
|
|
|
private int size;
|
|
private List<Supplier<String>> texts = new ArrayList<>();
|
|
private List<Consumer<JavaFile>> checkers = new ArrayList<>();
|
|
|
|
public void register(Supplier<String> text, Consumer<JavaFile> checker){
|
|
this.texts.add(text);
|
|
this.checkers.add(checker);
|
|
this.size++;
|
|
}
|
|
|
|
@Test
|
|
void main() throws Exception{
|
|
Parser<JavaElement> parser = new JavaParser();
|
|
for(int i = 0; i < size; i++){
|
|
JavaFile javaFile = new JavaFile();
|
|
parser.parse(texts.get(i).get(), javaFile);
|
|
checkers.get(i).accept(javaFile);
|
|
}
|
|
System.out.println("passed "+size+" tests");
|
|
}
|
|
|
|
}
|