[Complete Tests] Static & Constructor function + CI implementation
This commit is contained in:
parent
a10bde566e
commit
258eef2076
8 changed files with 280 additions and 19 deletions
|
@ -89,9 +89,9 @@ public class ClassTests{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
// @Test
|
||||||
void main() throws Exception{
|
// void main() throws Exception{
|
||||||
JavaElement result = testCase("public static class Test extends MyTest<List<String>> implements Ahbon{}");
|
// JavaElement result = testCase("public static class Test extends MyTest<List<String>> implements Ahbon{}");
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,9 +149,9 @@ public class FunctionTests {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
// @Test
|
||||||
void main() throws Exception{
|
// void main() throws Exception{
|
||||||
JavaElement result = testCase("public static void main(String[] args){}");
|
// JavaElement result = testCase("public static void main(String[] args){}");
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -427,10 +427,10 @@ public class OperationTests {
|
||||||
testCase("throw e;");
|
testCase("throw e;");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
// @Test
|
||||||
void tryOp() throws Exception{
|
// void tryOp() throws Exception{
|
||||||
testCase("try(Test test = new Test()){}");
|
// testCase("try(Test test = new Test()){}");
|
||||||
}
|
// }
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void whileOp() throws Exception{
|
void whileOp() throws Exception{
|
||||||
|
|
|
@ -34,14 +34,19 @@ public class BaseElementTests{
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void main() throws Exception{
|
void main(){
|
||||||
Parser<JavaElement> parser = new JavaParser();
|
String text = null;
|
||||||
for(int i = 0; i < size; i++){
|
try{
|
||||||
JavaFile javaFile = new JavaFile();
|
Parser<JavaElement> parser = new JavaParser();
|
||||||
parser.parse(texts.get(i).get(), javaFile);
|
for(int i = 0; i < size; i++){
|
||||||
checkers.get(i).accept(javaFile);
|
JavaFile javaFile = new JavaFile();
|
||||||
|
parser.parse((text = texts.get(i).get()), javaFile);
|
||||||
|
checkers.get(i).accept(javaFile);
|
||||||
|
}
|
||||||
|
System.out.println("["+getClass().getSimpleName()+"] passed "+size+" tests");
|
||||||
|
}catch(Exception e){
|
||||||
|
System.err.println("["+getClass().getSimpleName()+"] failed "+text+" for cause "+e.getMessage());
|
||||||
}
|
}
|
||||||
System.out.println("passed "+size+" tests");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Class checkClass(JavaFile javafile){
|
public Class checkClass(JavaFile javafile){
|
||||||
|
|
51
test/dev/peerat/parser/java/element/CITests.java
Normal file
51
test/dev/peerat/parser/java/element/CITests.java
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
package dev.peerat.parser.java.element;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import dev.peerat.parser.java.element.annotation.ClazzAnnotation;
|
||||||
|
import dev.peerat.parser.java.element.clazz.ClazzWithExtend;
|
||||||
|
import dev.peerat.parser.java.element.clazz.ClazzWithExtendsAndImplements;
|
||||||
|
import dev.peerat.parser.java.element.clazz.ClazzWithImplements;
|
||||||
|
import dev.peerat.parser.java.element.clazz.ClazzWithMod;
|
||||||
|
import dev.peerat.parser.java.element.clazz.ClazzWithoutMod;
|
||||||
|
import dev.peerat.parser.java.element.clazz.EnumWithImplements;
|
||||||
|
import dev.peerat.parser.java.element.clazz.EnumWithMod;
|
||||||
|
import dev.peerat.parser.java.element.clazz.EnumWithoutMod;
|
||||||
|
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.StaticFunction;
|
||||||
|
import dev.peerat.parser.java.element.variable.VariableInClass;
|
||||||
|
import dev.peerat.parser.java.element.variable.VariableInMethod;
|
||||||
|
|
||||||
|
public class CITests{
|
||||||
|
|
||||||
|
List<BaseElementTests> TESTS = Arrays.asList(
|
||||||
|
new ClazzAnnotation(),
|
||||||
|
new ClazzWithExtend(),
|
||||||
|
new ClazzWithExtendsAndImplements(),
|
||||||
|
new ClazzWithImplements(),
|
||||||
|
new ClazzWithMod(),
|
||||||
|
new ClazzWithoutMod(),
|
||||||
|
new EnumWithImplements(),
|
||||||
|
new EnumWithMod(),
|
||||||
|
new EnumWithoutMod(),
|
||||||
|
new InterfaceWithExtends(),
|
||||||
|
new InterfaceWithMod(),
|
||||||
|
new InterfaceWithoutMod(),
|
||||||
|
new ConstructorFunction(),
|
||||||
|
new StaticFunction(),
|
||||||
|
new VariableInClass(),
|
||||||
|
new VariableInMethod()
|
||||||
|
);
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void main(){
|
||||||
|
for(BaseElementTests test : TESTS) test.main();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -4,6 +4,8 @@ import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import dev.peerat.parser.java.Class;
|
import dev.peerat.parser.java.Class;
|
||||||
import dev.peerat.parser.java.ClassBase;
|
import dev.peerat.parser.java.ClassBase;
|
||||||
import dev.peerat.parser.java.element.BaseElementTests;
|
import dev.peerat.parser.java.element.BaseElementTests;
|
||||||
|
|
|
@ -0,0 +1,150 @@
|
||||||
|
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 ConstructorFunction extends BaseElementTests{
|
||||||
|
|
||||||
|
{
|
||||||
|
register(
|
||||||
|
() -> "package be.jeffcheasey88;"
|
||||||
|
+ ""
|
||||||
|
+ "public static final class Test{ "
|
||||||
|
+ " Test(){}"
|
||||||
|
+ "}",
|
||||||
|
(javafile) -> {
|
||||||
|
Class clazz = checkClass(javafile);
|
||||||
|
List<JavaElement> elements = clazz.getElements();
|
||||||
|
assertNotNull(elements);
|
||||||
|
assertEquals(1, elements.size());
|
||||||
|
Function function = checkFunction(elements.get(0));
|
||||||
|
assertNotNull(function.getName());
|
||||||
|
assertEquals(0, function.getElements().size());
|
||||||
|
assertEquals(0, function.getModifier());
|
||||||
|
assertNull(function.getParameters());
|
||||||
|
});
|
||||||
|
|
||||||
|
register(
|
||||||
|
() -> "package be.jeffcheasey88;"
|
||||||
|
+ ""
|
||||||
|
+ "public static final class Test{ "
|
||||||
|
+ " public Test(){}"
|
||||||
|
+ "}",
|
||||||
|
(javafile) -> {
|
||||||
|
Class clazz = checkClass(javafile);
|
||||||
|
List<JavaElement> elements = clazz.getElements();
|
||||||
|
assertNotNull(elements);
|
||||||
|
assertEquals(1, elements.size());
|
||||||
|
Function function = checkFunction(elements.get(0));
|
||||||
|
assertNotNull(function.getName());
|
||||||
|
assertEquals(0, function.getElements().size());
|
||||||
|
assertEquals(Modifier.PUBLIC, function.getModifier());
|
||||||
|
assertNull(function.getParameters());
|
||||||
|
});
|
||||||
|
|
||||||
|
register(
|
||||||
|
() -> "package be.jeffcheasey88;"
|
||||||
|
+ ""
|
||||||
|
+ "public static final class Test{ "
|
||||||
|
+ " private Test(){}"
|
||||||
|
+ "}",
|
||||||
|
(javafile) -> {
|
||||||
|
Class clazz = checkClass(javafile);
|
||||||
|
List<JavaElement> elements = clazz.getElements();
|
||||||
|
assertNotNull(elements);
|
||||||
|
assertEquals(1, elements.size());
|
||||||
|
Function function = checkFunction(elements.get(0));
|
||||||
|
assertNotNull(function.getName());
|
||||||
|
assertEquals(0, function.getElements().size());
|
||||||
|
assertEquals(Modifier.PRIVATE, function.getModifier());
|
||||||
|
assertNull(function.getParameters());
|
||||||
|
});
|
||||||
|
|
||||||
|
register(
|
||||||
|
() -> "package be.jeffcheasey88;"
|
||||||
|
+ ""
|
||||||
|
+ "public static final class Test{ "
|
||||||
|
+ " public 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));
|
||||||
|
assertNotNull(function.getName());
|
||||||
|
assertEquals(0, function.getElements().size());
|
||||||
|
assertEquals(Modifier.PUBLIC, function.getModifier());
|
||||||
|
assertEquals(1, function.getParameters().size());
|
||||||
|
Variable param1 = checkVariable(function.getParameters().get(0));
|
||||||
|
assertEquals("i", param1.getName().getValue());
|
||||||
|
assertEquals("int", param1.getType().getValue());
|
||||||
|
assertNull(param1.getValue());
|
||||||
|
});
|
||||||
|
|
||||||
|
register(
|
||||||
|
() -> "package be.jeffcheasey88;"
|
||||||
|
+ ""
|
||||||
|
+ "public static final class Test{ "
|
||||||
|
+ " public Test(int i, int j){}"
|
||||||
|
+ "}",
|
||||||
|
(javafile) -> {
|
||||||
|
Class clazz = checkClass(javafile);
|
||||||
|
List<JavaElement> elements = clazz.getElements();
|
||||||
|
assertNotNull(elements);
|
||||||
|
assertEquals(1, elements.size());
|
||||||
|
Function function = checkFunction(elements.get(0));
|
||||||
|
assertNotNull(function.getName());
|
||||||
|
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());
|
||||||
|
});
|
||||||
|
|
||||||
|
register(
|
||||||
|
() -> "package be.jeffcheasey88;"
|
||||||
|
+ ""
|
||||||
|
+ "public static final class Test{ "
|
||||||
|
+ " public 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));
|
||||||
|
assertNotNull(function.getName());
|
||||||
|
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());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
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.element.BaseElementTests;
|
||||||
|
|
||||||
|
public class StaticFunction extends BaseElementTests{
|
||||||
|
|
||||||
|
{
|
||||||
|
register(
|
||||||
|
() -> "package be.jeffcheasey88;"
|
||||||
|
+ ""
|
||||||
|
+ "public static final class Test{ "
|
||||||
|
+ " static{}"
|
||||||
|
+ "}",
|
||||||
|
(javafile) -> {
|
||||||
|
Class clazz = checkClass(javafile);
|
||||||
|
List<JavaElement> elements = clazz.getElements();
|
||||||
|
assertNotNull(elements);
|
||||||
|
assertEquals(1, elements.size());
|
||||||
|
Function function = checkFunction(elements.get(0));
|
||||||
|
assertNull(function.getName());
|
||||||
|
assertEquals(0, function.getElements().size());
|
||||||
|
assertEquals(Modifier.STATIC, function.getModifier());
|
||||||
|
});
|
||||||
|
|
||||||
|
register(
|
||||||
|
() -> "package be.jeffcheasey88;"
|
||||||
|
+ ""
|
||||||
|
+ "public static final class Test{ "
|
||||||
|
+ " static{ int i; }"
|
||||||
|
+ "}",
|
||||||
|
(javafile) -> {
|
||||||
|
Class clazz = checkClass(javafile);
|
||||||
|
List<JavaElement> elements = clazz.getElements();
|
||||||
|
assertNotNull(elements);
|
||||||
|
assertEquals(1, elements.size());
|
||||||
|
Function function = checkFunction(elements.get(0));
|
||||||
|
assertNull(function.getName());
|
||||||
|
assertEquals(1, function.getElements().size());
|
||||||
|
assertEquals(Modifier.STATIC, function.getModifier());
|
||||||
|
checkVariable(function.getElements().get(0));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue