Home | History | Annotate | Download | only in metamodel
      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