1 package com.github.javaparser.metamodel; 2 3 import com.github.javaparser.ast.Modifier; 4 import com.github.javaparser.ast.body.BodyDeclaration; 5 import org.junit.Test; 6 7 import java.util.Optional; 8 9 import static org.junit.Assert.assertEquals; 10 11 public class PropertyMetaModelTest { 12 @Test 13 public void whenPropertyIsVerySimpleThenTypeInfoIsCorrect() { 14 PropertyMetaModel bert = new PropertyMetaModel(null, "bert", int.class, Optional.empty(), false, false, false, false, false); 15 assertEquals("int", bert.getTypeName()); 16 assertEquals("int", bert.getTypeNameGenerified()); 17 assertEquals("int", bert.getTypeNameForGetter()); 18 assertEquals("int", bert.getTypeNameForSetter()); 19 } 20 21 @Test 22 public void whenPropertyIsVeryComplexThenTypeInfoIsCorrect() { 23 PropertyMetaModel bert = new PropertyMetaModel(null, "bert", BodyDeclaration.class, Optional.empty(), true, false, true, false, true); 24 assertEquals("BodyDeclaration", bert.getTypeName()); 25 assertEquals("BodyDeclaration<?>", bert.getTypeNameGenerified()); 26 assertEquals("Optional<NodeList<BodyDeclaration<?>>>", bert.getTypeNameForGetter()); 27 assertEquals("NodeList<BodyDeclaration<?>>", bert.getTypeNameForSetter()); 28 } 29 30 @Test 31 public void whenPropertyIsAnEnumThenTypeInfoIsCorrect() { 32 PropertyMetaModel bert = new PropertyMetaModel(null, "bert", Modifier.class, Optional.empty(), false, false, false, true, false); 33 assertEquals("Modifier", bert.getTypeName()); 34 assertEquals("Modifier", bert.getTypeNameGenerified()); 35 assertEquals("EnumSet<Modifier>", bert.getTypeNameForGetter()); 36 assertEquals("EnumSet<Modifier>", bert.getTypeNameForSetter()); 37 } 38 39 @Test 40 public void metaModelFieldName() { 41 PropertyMetaModel bert = new PropertyMetaModel(null, "bert", Modifier.class, Optional.empty(), false, false, false, true, false); 42 assertEquals("bertPropertyMetaModel", bert.getMetaModelFieldName()); 43 } 44 45 } 46