[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;
|
||||
}
|
||||
|
||||
@Test
|
||||
void main() throws Exception{
|
||||
JavaElement result = testCase("public static class Test extends MyTest<List<String>> implements Ahbon{}");
|
||||
}
|
||||
// @Test
|
||||
// void main() throws Exception{
|
||||
// JavaElement result = testCase("public static class Test extends MyTest<List<String>> implements Ahbon{}");
|
||||
// }
|
||||
|
||||
}
|
||||
|
|
|
@ -149,9 +149,9 @@ public class FunctionTests {
|
|||
return result;
|
||||
}
|
||||
|
||||
@Test
|
||||
void main() throws Exception{
|
||||
JavaElement result = testCase("public static void main(String[] args){}");
|
||||
}
|
||||
// @Test
|
||||
// void main() throws Exception{
|
||||
// JavaElement result = testCase("public static void main(String[] args){}");
|
||||
// }
|
||||
|
||||
}
|
||||
|
|
|
@ -427,10 +427,10 @@ public class OperationTests {
|
|||
testCase("throw e;");
|
||||
}
|
||||
|
||||
@Test
|
||||
void tryOp() throws Exception{
|
||||
testCase("try(Test test = new Test()){}");
|
||||
}
|
||||
// @Test
|
||||
// void tryOp() throws Exception{
|
||||
// testCase("try(Test test = new Test()){}");
|
||||
// }
|
||||
|
||||
@Test
|
||||
void whileOp() throws Exception{
|
||||
|
|
|
@ -34,14 +34,19 @@ public class BaseElementTests{
|
|||
}
|
||||
|
||||
@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);
|
||||
void main(){
|
||||
String text = null;
|
||||
try{
|
||||
Parser<JavaElement> parser = new JavaParser();
|
||||
for(int i = 0; i < size; i++){
|
||||
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){
|
||||
|
|
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.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import dev.peerat.parser.java.Class;
|
||||
import dev.peerat.parser.java.ClassBase;
|
||||
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