150 lines
No EOL
5.2 KiB
Java
150 lines
No EOL
5.2 KiB
Java
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());
|
|
});
|
|
}
|
|
} |