View Javadoc

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