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 }