@@ -12,21 +12,34 @@ public class FeatureRepTest {
1212
1313 private final Variation .TargetRule targetGroupOn = new Variation .TargetRule ("groups" , Arrays .<Object >asList ("google" , "microsoft" ));
1414
15+ // GSON will deserialize numbers as decimals
16+ private final Variation .TargetRule targetFavoriteNumberOn = new Variation .TargetRule ("favorite_number" , Arrays .<Object >asList (42.0 ));
17+
18+ private final Variation .TargetRule targetLikesCatsOn = new Variation .TargetRule ("likes_cats" , Arrays .<Object >asList (true ));
19+
1520 private final Variation .TargetRule targetUserOff = new Variation .TargetRule ("key" , Collections .<Object >singletonList ("targetOff@test.com" ));
1621
1722 private final Variation .TargetRule targetGroupOff = new Variation .TargetRule ("groups" , Arrays .<Object >asList ("oracle" ));
1823
24+ private final Variation .TargetRule targetFavoriteNumberOff = new Variation .TargetRule ("favorite_number" , Arrays .<Object >asList (33.0 ));
25+
26+ private final Variation .TargetRule targetLikesDogsOff = new Variation .TargetRule ("likes_dogs" , Arrays .<Object >asList (false ));
27+
1928 private final Variation .TargetRule targetAnonymousOn = new Variation .TargetRule ("anonymous" , Collections .<Object >singletonList (true ));
2029
2130 private final Variation <Boolean > trueVariation = new Variation .Builder <Boolean >(true , 80 )
2231 .target (targetUserOn )
2332 .target (targetGroupOn )
2433 .target (targetAnonymousOn )
34+ .target (targetLikesCatsOn )
35+ .target (targetFavoriteNumberOn )
2536 .build ();
2637
2738 private final Variation <Boolean > falseVariation = new Variation .Builder <Boolean >(false , 20 )
2839 .target (targetUserOff )
2940 .target (targetGroupOff )
41+ .target (targetFavoriteNumberOff )
42+ .target (targetLikesDogsOff )
3043 .build ();
3144
3245 private final FeatureRep <Boolean > simpleFlag = new FeatureRep .Builder <Boolean >("Sample flag" , "sample.flag" )
@@ -95,6 +108,28 @@ public void testFlagForTargetGroupOn() {
95108 assertEquals (true , b );
96109 }
97110
111+ @ Test
112+ public void testFlagForTargetNumericTestOn () {
113+ LDUser user = new LDUser .Builder ("targetOther@test.com" )
114+ .custom ("favorite_number" , 42.0 )
115+ .build ();
116+
117+ Boolean b = simpleFlag .evaluate (user );
118+
119+ assertEquals (true , b );
120+ }
121+
122+ @ Test
123+ public void testFlagForTargetBooleanTestOn () {
124+ LDUser user = new LDUser .Builder ("targetOther@test.com" )
125+ .custom ("likes_cats" , true )
126+ .build ();
127+
128+ Boolean b = simpleFlag .evaluate (user );
129+
130+ assertEquals (true , b );
131+ }
132+
98133 @ Test
99134 public void testFlagForTargetGroupOff () {
100135 LDUser user = new LDUser .Builder ("targetOther@test.com" )
@@ -106,6 +141,28 @@ public void testFlagForTargetGroupOff() {
106141 assertEquals (false , b );
107142 }
108143
144+ @ Test
145+ public void testFlagForTargetNumericTestOff () {
146+ LDUser user = new LDUser .Builder ("targetOther@test.com" )
147+ .custom ("favorite_number" , 33.0 )
148+ .build ();
149+
150+ Boolean b = simpleFlag .evaluate (user );
151+
152+ assertEquals (false , b );
153+ }
154+
155+ @ Test
156+ public void testFlagForTargetBooleanTestOff () {
157+ LDUser user = new LDUser .Builder ("targetOther@test.com" )
158+ .custom ("likes_dogs" , false )
159+ .build ();
160+
161+ Boolean b = simpleFlag .evaluate (user );
162+
163+ assertEquals (false , b );
164+ }
165+
109166 @ Test
110167 public void testDisabledFlagAlwaysOff () {
111168 LDUser user = new LDUser ("targetOn@test.com" );
0 commit comments