205 lines
7.2 KiB
Java
205 lines
7.2 KiB
Java
package dev.peerat.parser.java.element.variable;
|
|
|
|
import static org.junit.Assert.assertNotNull;
|
|
import static org.junit.Assert.assertNull;
|
|
import static org.junit.Assert.assertTrue;
|
|
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.JavaElement;
|
|
import dev.peerat.parser.java.Variable;
|
|
import dev.peerat.parser.java.element.BaseElementTests;
|
|
import dev.peerat.parser.java.value.StaticValue;
|
|
|
|
public class VariableInClass extends BaseElementTests{
|
|
|
|
{
|
|
register(
|
|
"package be.jeffcheasey88;"
|
|
+ ""
|
|
+ "public static final class Test{ "
|
|
+ " int i;"
|
|
+ "}",
|
|
(javafile) -> {
|
|
Class clazz = checkClass(javafile);
|
|
List<JavaElement> elements = clazz.getElements();
|
|
assertNotNull(elements);
|
|
assertEquals(1, elements.size());
|
|
JavaElement element = elements.get(0);
|
|
assertNotNull(element);
|
|
assertTrue(element instanceof Variable);
|
|
Variable variable = (Variable) element;
|
|
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{ "
|
|
+ " private int i;"
|
|
+ "}",
|
|
(javafile) -> {
|
|
Class clazz = checkClass(javafile);
|
|
List<JavaElement> elements = clazz.getElements();
|
|
assertNotNull(elements);
|
|
assertEquals(1, elements.size());
|
|
JavaElement element = elements.get(0);
|
|
assertNotNull(element);
|
|
assertTrue(element instanceof Variable);
|
|
Variable variable = (Variable) element;
|
|
assertEquals(Modifier.PRIVATE, variable.getModifier());
|
|
assertEquals("int", variable.getType().getValue());
|
|
assertEquals("i", variable.getName().getValue());
|
|
assertNull(variable.getValue());
|
|
});
|
|
|
|
register(
|
|
"package be.jeffcheasey88;"
|
|
+ ""
|
|
+ "public static final class Test{ "
|
|
+ " private final int i;"
|
|
+ "}",
|
|
(javafile) -> {
|
|
Class clazz = checkClass(javafile);
|
|
List<JavaElement> elements = clazz.getElements();
|
|
assertNotNull(elements);
|
|
assertEquals(1, elements.size());
|
|
JavaElement element = elements.get(0);
|
|
assertNotNull(element);
|
|
assertTrue(element instanceof Variable);
|
|
Variable variable = (Variable) element;
|
|
assertEquals(Modifier.PRIVATE+Modifier.FINAL, variable.getModifier());
|
|
assertEquals("int", variable.getType().getValue());
|
|
assertEquals("i", variable.getName().getValue());
|
|
assertNull(variable.getValue());
|
|
});
|
|
|
|
register(
|
|
"package be.jeffcheasey88;"
|
|
+ ""
|
|
+ "public static final class Test{ "
|
|
+ " private final int i = 4;"
|
|
+ "}",
|
|
(javafile) -> {
|
|
Class clazz = checkClass(javafile);
|
|
List<JavaElement> elements = clazz.getElements();
|
|
assertNotNull(elements);
|
|
assertEquals(1, elements.size());
|
|
JavaElement element = elements.get(0);
|
|
assertNotNull(element);
|
|
assertTrue(element instanceof Variable);
|
|
Variable variable = (Variable) element;
|
|
assertEquals(Modifier.PRIVATE+Modifier.FINAL, variable.getModifier());
|
|
assertEquals("int", variable.getType().getValue());
|
|
assertEquals("i", variable.getName().getValue());
|
|
assertEquals("4", ((StaticValue)variable.getValue()).getToken().getValue());
|
|
});
|
|
|
|
register(
|
|
"package be.jeffcheasey88;"
|
|
+ ""
|
|
+ "public static final class Test{ "
|
|
+ " private final int i = 4, j;"
|
|
+ "}",
|
|
(javafile) -> {
|
|
Class clazz = checkClass(javafile);
|
|
List<JavaElement> elements = clazz.getElements();
|
|
assertNotNull(elements);
|
|
assertEquals(2, elements.size());
|
|
JavaElement element = elements.get(0);
|
|
assertNotNull(element);
|
|
assertTrue(element instanceof Variable);
|
|
Variable variable = (Variable) element;
|
|
assertEquals(Modifier.PRIVATE+Modifier.FINAL, variable.getModifier());
|
|
assertEquals("int", variable.getType().getValue());
|
|
assertEquals("i", variable.getName().getValue());
|
|
assertEquals("4", ((StaticValue)variable.getValue()).getToken().getValue());
|
|
|
|
element = elements.get(1);
|
|
assertNotNull(element);
|
|
assertTrue(element instanceof Variable);
|
|
variable = (Variable) element;
|
|
assertEquals(Modifier.PRIVATE+Modifier.FINAL, variable.getModifier());
|
|
assertEquals("int", variable.getType().getValue());
|
|
assertEquals("j", variable.getName().getValue());
|
|
assertNull(variable.getValue());
|
|
});
|
|
|
|
register(
|
|
"package be.jeffcheasey88;"
|
|
+ ""
|
|
+ "public static final class Test{ "
|
|
+ " private final int i = 4, j = 6;"
|
|
+ "}",
|
|
(javafile) -> {
|
|
Class clazz = checkClass(javafile);
|
|
List<JavaElement> elements = clazz.getElements();
|
|
assertNotNull(elements);
|
|
assertEquals(2, elements.size());
|
|
JavaElement element = elements.get(0);
|
|
assertNotNull(element);
|
|
assertTrue(element instanceof Variable);
|
|
Variable variable = (Variable) element;
|
|
assertEquals(Modifier.PRIVATE+Modifier.FINAL, variable.getModifier());
|
|
assertEquals("int", variable.getType().getValue());
|
|
assertEquals("i", variable.getName().getValue());
|
|
assertEquals("4", ((StaticValue)variable.getValue()).getToken().getValue());
|
|
|
|
element = elements.get(1);
|
|
assertNotNull(element);
|
|
assertTrue(element instanceof Variable);
|
|
variable = (Variable) element;
|
|
assertEquals(Modifier.PRIVATE+Modifier.FINAL, variable.getModifier());
|
|
assertEquals("int", variable.getType().getValue());
|
|
assertEquals("j", variable.getName().getValue());
|
|
assertEquals("6", ((StaticValue)variable.getValue()).getToken().getValue());
|
|
});
|
|
|
|
register(
|
|
"package be.jeffcheasey88;"
|
|
+ ""
|
|
+ "public static final class Test{ "
|
|
+ " private final int i = 4, j = 6;"
|
|
+ " List<String> list;"
|
|
+ "}",
|
|
(javafile) -> {
|
|
Class clazz = checkClass(javafile);
|
|
List<JavaElement> elements = clazz.getElements();
|
|
assertNotNull(elements);
|
|
assertEquals(3, elements.size());
|
|
JavaElement element = elements.get(0);
|
|
assertNotNull(element);
|
|
assertTrue(element instanceof Variable);
|
|
Variable variable = (Variable) element;
|
|
assertEquals(Modifier.PRIVATE+Modifier.FINAL, variable.getModifier());
|
|
assertEquals("int", variable.getType().getValue());
|
|
assertEquals("i", variable.getName().getValue());
|
|
assertEquals("4", ((StaticValue)variable.getValue()).getToken().getValue());
|
|
|
|
element = elements.get(1);
|
|
assertNotNull(element);
|
|
assertTrue(element instanceof Variable);
|
|
variable = (Variable) element;
|
|
assertEquals(Modifier.PRIVATE+Modifier.FINAL, variable.getModifier());
|
|
assertEquals("int", variable.getType().getValue());
|
|
assertEquals("j", variable.getName().getValue());
|
|
assertEquals("6", ((StaticValue)variable.getValue()).getToken().getValue());
|
|
|
|
element = elements.get(2);
|
|
assertNotNull(element);
|
|
assertTrue(element instanceof Variable);
|
|
variable = (Variable) element;
|
|
assertEquals(0, variable.getModifier());
|
|
assertEquals("List<String>", variable.getType().getValue());
|
|
assertEquals("list", variable.getName().getValue());
|
|
assertNull(variable.getValue());
|
|
});
|
|
}
|
|
|
|
}
|