package dev.peerat.parser.java.element.variable; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.jupiter.api.Assertions.assertEquals; 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 VariableInMethod extends BaseElementTests{ { register( () -> "package be.jeffcheasey88;" + "" + "public static final class Test{ " + " void test(){" + " int i;" + "}" + "}", (javafile) -> { Class clazz = checkClass(javafile); List elements = clazz.getElements(); assertNotNull(elements); assertEquals(1, elements.size()); Function function = checkFunction(elements.get(0)); elements = function.getElements(); assertNotNull(elements); assertEquals(1, elements.size()); Variable variable = checkVariable(elements.get(0)); assertEquals(0, variable.getModifier()); assertEquals("int", variable.getType().getValue()); assertEquals("i", variable.getName().getValue()); assertNull(variable.getValue()); }); register( () -> "package be.jeffcheasey88;" + "" + "public static final class Test{ " + " void test(){" + " int i = 4;" + "}" + "}", (javafile) -> { Class clazz = checkClass(javafile); List elements = clazz.getElements(); assertNotNull(elements); assertEquals(1, elements.size()); Function function = checkFunction(elements.get(0)); elements = function.getElements(); assertNotNull(elements); assertEquals(1, elements.size()); Variable variable = checkVariable(elements.get(0)); assertEquals(0, variable.getModifier()); assertEquals("int", variable.getType().getValue()); assertEquals("i", variable.getName().getValue()); assertEquals("4", variable.getValue().getToken().getValue()); }); register( () -> "package be.jeffcheasey88;" + "" + "public static final class Test{ " + " void test(){" + " int i = 4, j;" + "}" + "}", (javafile) -> { Class clazz = checkClass(javafile); List elements = clazz.getElements(); assertNotNull(elements); assertEquals(1, elements.size()); Function function = checkFunction(elements.get(0)); elements = function.getElements(); assertNotNull(elements); assertEquals(2, elements.size()); Variable variable = checkVariable(elements.get(0)); assertEquals(0, variable.getModifier()); assertEquals("int", variable.getType().getValue()); assertEquals("i", variable.getName().getValue()); assertEquals("4", variable.getValue().getToken().getValue()); variable = checkVariable(elements.get(1)); assertEquals(0, variable.getModifier()); assertEquals("int", variable.getType().getValue()); assertEquals("j", variable.getName().getValue()); assertNull(variable.getValue()); }); register( () -> "package be.jeffcheasey88;" + "" + "public static final class Test{ " + " void test(){" + " int i = 4, j = 6;" + "}" + "}", (javafile) -> { Class clazz = checkClass(javafile); List elements = clazz.getElements(); assertNotNull(elements); assertEquals(1, elements.size()); Function function = checkFunction(elements.get(0)); elements = function.getElements(); assertNotNull(elements); assertEquals(2, elements.size()); Variable variable = checkVariable(elements.get(0)); assertEquals(0, variable.getModifier()); assertEquals("int", variable.getType().getValue()); assertEquals("i", variable.getName().getValue()); assertEquals("4", variable.getValue().getToken().getValue()); variable = checkVariable(elements.get(1)); assertEquals(0, variable.getModifier()); assertEquals("int", variable.getType().getValue()); assertEquals("j", variable.getName().getValue()); assertEquals("6", variable.getValue().getToken().getValue()); }); register( () -> "package be.jeffcheasey88;" + "" + "public static final class Test{ " + " void test(){" + " int i = 4, j = 6;" + " List list;" + "}" + "}", (javafile) -> { Class clazz = checkClass(javafile); List elements = clazz.getElements(); assertNotNull(elements); assertEquals(1, elements.size()); Function function = checkFunction(elements.get(0)); elements = function.getElements(); assertNotNull(elements); assertEquals(3, elements.size()); Variable variable = checkVariable(elements.get(0)); assertEquals(0, variable.getModifier()); assertEquals("int", variable.getType().getValue()); assertEquals("i", variable.getName().getValue()); assertEquals("4", variable.getValue().getToken().getValue()); variable = checkVariable(elements.get(1)); assertEquals(0, variable.getModifier()); assertEquals("int", variable.getType().getValue()); assertEquals("j", variable.getName().getValue()); assertEquals("6", variable.getValue().getToken().getValue()); variable = checkVariable(elements.get(2)); assertEquals(0, variable.getModifier()); assertEquals("List", variable.getType().getValue()); assertEquals("list", variable.getName().getValue()); assertNull(variable.getValue()); }); } }