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 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 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)); }); } }