blob: 2333d8101eae23692fb18a9ba85483ff3fba4699 [file] [log] [blame]
package com.github.javaparser.metamodel;
import com.github.javaparser.ast.Modifier;
import com.github.javaparser.ast.body.BodyDeclaration;
import org.junit.Test;
import java.util.Optional;
import static org.junit.Assert.assertEquals;
public class PropertyMetaModelTest {
@Test
public void whenPropertyIsVerySimpleThenTypeInfoIsCorrect() {
PropertyMetaModel bert = new PropertyMetaModel(null, "bert", int.class, Optional.empty(), false, false, false, false, false);
assertEquals("int", bert.getTypeName());
assertEquals("int", bert.getTypeNameGenerified());
assertEquals("int", bert.getTypeNameForGetter());
assertEquals("int", bert.getTypeNameForSetter());
}
@Test
public void whenPropertyIsVeryComplexThenTypeInfoIsCorrect() {
PropertyMetaModel bert = new PropertyMetaModel(null, "bert", BodyDeclaration.class, Optional.empty(), true, false, true, false, true);
assertEquals("BodyDeclaration", bert.getTypeName());
assertEquals("BodyDeclaration<?>", bert.getTypeNameGenerified());
assertEquals("Optional<NodeList<BodyDeclaration<?>>>", bert.getTypeNameForGetter());
assertEquals("NodeList<BodyDeclaration<?>>", bert.getTypeNameForSetter());
}
@Test
public void whenPropertyIsAnEnumThenTypeInfoIsCorrect() {
PropertyMetaModel bert = new PropertyMetaModel(null, "bert", Modifier.class, Optional.empty(), false, false, false, true, false);
assertEquals("Modifier", bert.getTypeName());
assertEquals("Modifier", bert.getTypeNameGenerified());
assertEquals("EnumSet<Modifier>", bert.getTypeNameForGetter());
assertEquals("EnumSet<Modifier>", bert.getTypeNameForSetter());
}
@Test
public void metaModelFieldName() {
PropertyMetaModel bert = new PropertyMetaModel(null, "bert", Modifier.class, Optional.empty(), false, false, false, true, false);
assertEquals("bertPropertyMetaModel", bert.getMetaModelFieldName());
}
}