[Complete Tests] Supplier<String> -> String in BaseElementTests & Normal Functions
This commit is contained in:
parent
258eef2076
commit
1b20de6eae
19 changed files with 290 additions and 181 deletions
|
@ -24,10 +24,10 @@ import dev.peerat.parser.java.Variable;
|
|||
public class BaseElementTests{
|
||||
|
||||
private int size;
|
||||
private List<Supplier<String>> texts = new ArrayList<>();
|
||||
private List<String> texts = new ArrayList<>();
|
||||
private List<Consumer<JavaFile>> checkers = new ArrayList<>();
|
||||
|
||||
public void register(Supplier<String> text, Consumer<JavaFile> checker){
|
||||
public void register(String text, Consumer<JavaFile> checker){
|
||||
this.texts.add(text);
|
||||
this.checkers.add(checker);
|
||||
this.size++;
|
||||
|
@ -40,11 +40,11 @@ public class BaseElementTests{
|
|||
Parser<JavaElement> parser = new JavaParser();
|
||||
for(int i = 0; i < size; i++){
|
||||
JavaFile javaFile = new JavaFile();
|
||||
parser.parse((text = texts.get(i).get()), javaFile);
|
||||
parser.parse((text = texts.get(i)), javaFile);
|
||||
checkers.get(i).accept(javaFile);
|
||||
}
|
||||
System.out.println("["+getClass().getSimpleName()+"] passed "+size+" tests");
|
||||
}catch(Exception e){
|
||||
}catch(Exception|AssertionError e){
|
||||
System.err.println("["+getClass().getSimpleName()+"] failed "+text+" for cause "+e.getMessage());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ import dev.peerat.parser.java.element.clazz.InterfaceWithExtends;
|
|||
import dev.peerat.parser.java.element.clazz.InterfaceWithMod;
|
||||
import dev.peerat.parser.java.element.clazz.InterfaceWithoutMod;
|
||||
import dev.peerat.parser.java.element.function.ConstructorFunction;
|
||||
import dev.peerat.parser.java.element.function.NormalFunction;
|
||||
import dev.peerat.parser.java.element.function.StaticFunction;
|
||||
import dev.peerat.parser.java.element.variable.VariableInClass;
|
||||
import dev.peerat.parser.java.element.variable.VariableInMethod;
|
||||
|
@ -39,6 +40,7 @@ public class CITests{
|
|||
new InterfaceWithoutMod(),
|
||||
new ConstructorFunction(),
|
||||
new StaticFunction(),
|
||||
new NormalFunction(),
|
||||
new VariableInClass(),
|
||||
new VariableInMethod()
|
||||
);
|
||||
|
|
|
@ -22,7 +22,7 @@ public class ClazzAnnotation extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "@Test "
|
||||
+ "public static class Test{}",
|
||||
|
@ -37,7 +37,7 @@ public class ClazzAnnotation extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "@be.jeffcheasey88.Test "
|
||||
+ "public static class Test{}",
|
||||
|
@ -52,7 +52,7 @@ public class ClazzAnnotation extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "@Test() "
|
||||
+ "public static class Test{}",
|
||||
|
@ -67,7 +67,7 @@ public class ClazzAnnotation extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "@Test(\"Hello\") "
|
||||
+ "public static class Test{}",
|
||||
|
@ -88,7 +88,7 @@ public class ClazzAnnotation extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "@Test(offset=8) "
|
||||
+ "public static class Test{}",
|
||||
|
@ -107,7 +107,7 @@ public class ClazzAnnotation extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "@Test(offset=8,concat=\",\") "
|
||||
+ "public static class Test{}",
|
||||
|
@ -123,7 +123,7 @@ public class ClazzAnnotation extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "@Test "
|
||||
+ "public static interface Test{}",
|
||||
|
@ -141,7 +141,7 @@ public class ClazzAnnotation extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "@Test "
|
||||
+ "public static enum Test{}",
|
||||
|
|
|
@ -14,7 +14,7 @@ public class ClazzWithExtend extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public class Test extends MyTest{}",
|
||||
(javafile) -> {
|
||||
|
|
|
@ -12,7 +12,7 @@ public class ClazzWithExtendsAndImplements extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public class Test extends MyBigTest implements MyTest{}",
|
||||
(javafile) -> {
|
||||
|
|
|
@ -12,7 +12,7 @@ public class ClazzWithImplements extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public class Test implements MyTest{}",
|
||||
(javafile) -> {
|
||||
|
|
|
@ -12,7 +12,7 @@ public class ClazzWithMod extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{}",
|
||||
(javafile) -> {
|
||||
|
|
|
@ -12,7 +12,7 @@ public class ClazzWithoutMod extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "class Test{}",
|
||||
(javafile) -> {
|
||||
|
|
|
@ -13,7 +13,7 @@ public class EnumWithImplements extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public enum Test implements MyTest{}",
|
||||
(javafile) -> {
|
||||
|
|
|
@ -13,7 +13,7 @@ public class EnumWithMod extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final enum Test{}",
|
||||
(javafile) -> {
|
||||
|
|
|
@ -12,7 +12,7 @@ public class EnumWithoutMod extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "enum Test{}",
|
||||
(javafile) -> {
|
||||
|
|
|
@ -12,7 +12,7 @@ public class InterfaceWithExtends extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public interface Test extends MyTest{}",
|
||||
(javafile) -> {
|
||||
|
|
|
@ -13,7 +13,7 @@ public class InterfaceWithMod extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final interface Test{}",
|
||||
(javafile) -> {
|
||||
|
|
|
@ -12,7 +12,7 @@ public class InterfaceWithoutMod extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "interface Test{}",
|
||||
(javafile) -> {
|
||||
|
|
|
@ -17,7 +17,7 @@ public class ConstructorFunction extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " Test(){}"
|
||||
|
@ -35,7 +35,7 @@ public class ConstructorFunction extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " public Test(){}"
|
||||
|
@ -53,7 +53,7 @@ public class ConstructorFunction extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " private Test(){}"
|
||||
|
@ -71,7 +71,7 @@ public class ConstructorFunction extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " public Test(int i){}"
|
||||
|
@ -93,7 +93,7 @@ public class ConstructorFunction extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " public Test(int i, int j){}"
|
||||
|
@ -119,7 +119,7 @@ public class ConstructorFunction extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " public Test(int i, int j) throws Exception{}"
|
||||
|
|
107
test/dev/peerat/parser/java/element/function/NormalFunction.java
Normal file
107
test/dev/peerat/parser/java/element/function/NormalFunction.java
Normal file
|
@ -0,0 +1,107 @@
|
|||
package dev.peerat.parser.java.element.function;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.List;
|
||||
|
||||
import dev.peerat.parser.java.Class;
|
||||
import dev.peerat.parser.java.Function;
|
||||
import dev.peerat.parser.java.JavaElement;
|
||||
import dev.peerat.parser.java.Variable;
|
||||
import dev.peerat.parser.java.element.BaseElementTests;
|
||||
|
||||
public class NormalFunction extends BaseElementTests{
|
||||
|
||||
{
|
||||
register(
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " void test(){}"
|
||||
+ "}",
|
||||
(javafile) -> {
|
||||
Class clazz = checkClass(javafile);
|
||||
List<JavaElement> elements = clazz.getElements();
|
||||
assertNotNull(elements);
|
||||
assertEquals(1, elements.size());
|
||||
Function function = checkFunction(elements.get(0));
|
||||
assertEquals("test", function.getName().getValue());
|
||||
assertEquals("void", function.getReturnType().getValue());
|
||||
assertEquals(0, function.getElements().size());
|
||||
assertEquals(0, function.getModifier());
|
||||
assertNull(function.getParameters());
|
||||
});
|
||||
|
||||
register(
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " public void test(){}"
|
||||
+ "}",
|
||||
(javafile) -> {
|
||||
Class clazz = checkClass(javafile);
|
||||
List<JavaElement> elements = clazz.getElements();
|
||||
assertNotNull(elements);
|
||||
assertEquals(1, elements.size());
|
||||
Function function = checkFunction(elements.get(0));
|
||||
assertEquals("test", function.getName().getValue());
|
||||
assertEquals("void", function.getReturnType().getValue());
|
||||
assertEquals(0, function.getElements().size());
|
||||
assertEquals(Modifier.PUBLIC, function.getModifier());
|
||||
assertNull(function.getParameters());
|
||||
});
|
||||
|
||||
register(
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " public void test(){ int i; }"
|
||||
+ "}",
|
||||
(javafile) -> {
|
||||
Class clazz = checkClass(javafile);
|
||||
List<JavaElement> elements = clazz.getElements();
|
||||
assertNotNull(elements);
|
||||
assertEquals(1, elements.size());
|
||||
Function function = checkFunction(elements.get(0));
|
||||
assertEquals("test", function.getName().getValue());
|
||||
assertEquals("void", function.getReturnType().getValue());
|
||||
assertEquals(1, function.getElements().size());
|
||||
assertEquals(Modifier.PUBLIC, function.getModifier());
|
||||
assertNull(function.getParameters());
|
||||
});
|
||||
|
||||
register(
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " public void test(int i, int j) throws Exception{}"
|
||||
+ "}",
|
||||
(javafile) -> {
|
||||
Class clazz = checkClass(javafile);
|
||||
List<JavaElement> elements = clazz.getElements();
|
||||
assertNotNull(elements);
|
||||
assertEquals(1, elements.size());
|
||||
Function function = checkFunction(elements.get(0));
|
||||
assertEquals("test", function.getName().getValue());
|
||||
assertEquals("void", function.getReturnType().getValue());
|
||||
assertEquals(0, function.getElements().size());
|
||||
assertEquals(Modifier.PUBLIC, function.getModifier());
|
||||
assertEquals(2, function.getParameters().size());
|
||||
Variable param1 = checkVariable(function.getParameters().get(0));
|
||||
Variable param2 = checkVariable(function.getParameters().get(1));
|
||||
assertEquals("i", param1.getName().getValue());
|
||||
assertEquals("int", param1.getType().getValue());
|
||||
assertNull(param1.getValue());
|
||||
assertEquals("j", param2.getName().getValue());
|
||||
assertEquals("int", param2.getType().getValue());
|
||||
assertNull(param2.getValue());
|
||||
|
||||
assertNotNull(function.getThrowables());
|
||||
assertEquals("Exception", function.getThrowables().get(0).getValue());
|
||||
});
|
||||
}
|
||||
|
||||
}
|
|
@ -16,7 +16,7 @@ public class StaticFunction extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " static{}"
|
||||
|
@ -33,7 +33,7 @@ public class StaticFunction extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " static{ int i; }"
|
||||
|
|
|
@ -17,7 +17,7 @@ public class VariableInClass extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " int i;"
|
||||
|
@ -38,7 +38,7 @@ public class VariableInClass extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " private int i;"
|
||||
|
@ -59,7 +59,7 @@ public class VariableInClass extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " private final int i;"
|
||||
|
@ -80,7 +80,7 @@ public class VariableInClass extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " private final int i = 4;"
|
||||
|
@ -101,7 +101,7 @@ public class VariableInClass extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " private final int i = 4, j;"
|
||||
|
@ -131,7 +131,7 @@ public class VariableInClass extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " private final int i = 4, j = 6;"
|
||||
|
@ -161,7 +161,7 @@ public class VariableInClass extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " private final int i = 4, j = 6;"
|
||||
|
|
|
@ -16,7 +16,7 @@ public class VariableInMethod extends BaseElementTests{
|
|||
|
||||
{
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " void test(){"
|
||||
|
@ -40,7 +40,7 @@ public class VariableInMethod extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " void test(){"
|
||||
|
@ -64,7 +64,7 @@ public class VariableInMethod extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " void test(){"
|
||||
|
@ -94,7 +94,7 @@ public class VariableInMethod extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " void test(){"
|
||||
|
@ -124,7 +124,7 @@ public class VariableInMethod extends BaseElementTests{
|
|||
});
|
||||
|
||||
register(
|
||||
() -> "package be.jeffcheasey88;"
|
||||
"package be.jeffcheasey88;"
|
||||
+ ""
|
||||
+ "public static final class Test{ "
|
||||
+ " void test(){"
|
||||
|
|
Loading…
Add table
Reference in a new issue