[Complete tests] Base

This commit is contained in:
jeffcheasey88 2024-01-03 16:11:26 +01:00
parent f4caa735b2
commit baa7e4dd9e
3 changed files with 94 additions and 0 deletions

View file

@ -0,0 +1,38 @@
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");
}
}

View file

@ -0,0 +1,28 @@
package dev.peerat.parser.java.element.clazz;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import dev.peerat.parser.java.Class;
import dev.peerat.parser.java.ClassBase;
import dev.peerat.parser.java.element.BaseElementTests;
public class ClazzWithMod extends BaseElementTests{
{
register(
() -> "package be.jeffcheasey88;"
+ ""
+ "public static final class Test{}",
(javafile) -> {
ClassBase clazzb = javafile.getMainClass();
assertNotNull(clazzb);
assertTrue(clazzb instanceof Class);
Class clazz = (Class)clazzb;
assertEquals("Test", clazz.getName().getValue());
assertEquals(0, clazz.getElements().size());
});
}
}

View file

@ -0,0 +1,28 @@
package dev.peerat.parser.java.element.clazz;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import dev.peerat.parser.java.Class;
import dev.peerat.parser.java.ClassBase;
import dev.peerat.parser.java.element.BaseElementTests;
public class ClazzWithoutMod extends BaseElementTests{
{
register(
() -> "package be.jeffcheasey88;"
+ ""
+ "class Test{}",
(javafile) -> {
ClassBase clazzb = javafile.getMainClass();
assertNotNull(clazzb);
assertTrue(clazzb instanceof Class);
Class clazz = (Class)clazzb;
assertEquals("Test", clazz.getName().getValue());
assertEquals(0, clazz.getElements().size());
});
}
}