View Javadoc

1   package com.atlassian.plugins.rest.common.expand;
2   
3   import static org.junit.Assert.*;
4   import com.atlassian.plugins.rest.common.expand.parameter.DefaultExpandParameter;
5   import com.google.common.collect.Lists;
6   import org.junit.Before;
7   import org.junit.Test;
8   
9   import javax.xml.bind.annotation.XmlAttribute;
10  
11  public class SelfExpandingTest
12  {
13      private EntityCrawler entityCrawler;
14  
15      @Before
16      public void setUp()
17      {
18          entityCrawler = new EntityCrawler();
19      }
20  
21      @Test
22      public void testSelfExpanding()
23      {
24          final SomeClass someClass = new SomeClass();
25          assertFalse(someClass.expandable.isExpanded());
26          entityCrawler.crawl(
27              someClass,
28              new DefaultExpandParameter(Lists.newArrayList("*")),
29              new SelfExpandingExpander.Resolver());
30          assertTrue(someClass.expandable.isExpanded());
31      }
32  
33      public static class SomeClass
34      {
35          @Expandable
36          public final SomeExpandableEntity expandable = new SomeExpandableEntity();
37      }
38  
39      public static class SomeExpandableEntity implements SelfExpanding
40      {
41          @XmlAttribute
42          private String expand;
43          private boolean expanded = false;
44  
45          public void expand()
46          {
47              expanded = true;
48          }
49  
50          public boolean isExpanded()
51          {
52              return expanded;
53          }
54      }
55  }