View Javadoc
1   package org.pojomatic.internal;
2   
3   import static org.testng.Assert.*;
4   
5   import org.testng.annotations.Test;
6   
7   import java.util.Collections;
8   import java.util.EnumSet;
9   
10  import org.pojomatic.annotations.DefaultPojomaticPolicy;
11  import org.pojomatic.annotations.PojomaticPolicy;
12  
13  public class PropertyFilterTest {
14    private static final Iterable<PojomaticPolicy> ALL_BUT_DEFAULT =
15      EnumSet.complementOf(EnumSet.of(PojomaticPolicy.DEFAULT));
16  
17    @Test public void testGetRolesWithNoClassPolicy() {
18      for (PojomaticPolicy policy: ALL_BUT_DEFAULT) {
19        assertEquals(PropertyFilter.getRoles(policy, null), policy.getRoles());
20      }
21    }
22  
23    @Test public void testGetRolesWithPropertyPolicyAndClassPolicy() {
24      for (PojomaticPolicy policy: ALL_BUT_DEFAULT) {
25        for (DefaultPojomaticPolicy defaultPolicy: DefaultPojomaticPolicy.values()) {
26        assertEquals(PropertyFilter.getRoles(policy, defaultPolicy), policy.getRoles());
27        }
28      }
29    }
30  
31    @Test public void testGetRolesWithDefaultPropertyPolicyAndNoClassPolicy() {
32      assertEquals(PropertyFilter.getRoles(PojomaticPolicy.DEFAULT, null), PojomaticPolicy.ALL.getRoles());
33    }
34  
35    @Test public void testGetRolesWithDefaultPropertyPolicyAndClassPolicy() {
36      for (DefaultPojomaticPolicy defaultPolicy: DefaultPojomaticPolicy.values()) {
37        assertEquals(PropertyFilter.getRoles(PojomaticPolicy.DEFAULT, defaultPolicy), defaultPolicy.getRoles());
38      }
39    }
40  
41    @Test public void testGetRolesWithOnlyClassPolicy() {
42      for (DefaultPojomaticPolicy defaultPolicy: DefaultPojomaticPolicy.values()) {
43        assertEquals(PropertyFilter.getRoles(null, defaultPolicy), defaultPolicy.getRoles());
44      }
45    }
46  
47    @Test
48    public void testGetRolesWithNoPolicy() {
49      assertEquals(PropertyFilter.getRoles(null, null), Collections.EMPTY_SET);
50    }
51  
52  }