@@ -80,6 +80,16 @@ void testBoolVariation() throws IOException {
8080 ed = client .boolVariationDetail ("ff-test-bool" , user4 , false );
8181 assertTrue (ed .getVariation ());
8282 assertEquals (REASON_FALLTHROUGH , ed .getReason ());
83+ String res1 = client .variation ("ff-test-bool" , user4 , "error" );
84+ assertEquals ("true" , res1 );
85+ Integer res2 = client .intVariation ("ff-test-bool" , user4 , -1 );
86+ assertEquals (-1 , res2 );
87+ res = client .jsonVariation ("ff-test-bool" , user4 , Boolean .class , false );
88+ assertTrue (res );
89+ res1 = client .jsonVariation ("ff-test-bool" , user4 , String .class , "error" );
90+ assertEquals ("true" , res1 );
91+ res2 = client .jsonVariation ("ff-test-bool" , user4 , Integer .class , -1 );
92+ assertEquals (-1 , res2 );
8393 }
8494 }
8595
@@ -98,6 +108,22 @@ void testNumericVariation() throws IOException {
98108 EvalDetail <Double > ed1 = client .doubleVariationDetail ("ff-test-number" , user4 , -1D );
99109 assertEquals (9999D , ed1 .getVariation ());
100110 assertEquals (REASON_FALLTHROUGH , ed1 .getReason ());
111+ EvalDetail <Boolean > ed2 = client .boolVariationDetail ("ff-test-number" , user4 , false );
112+ assertFalse (ed2 .getVariation ());
113+ assertEquals (REASON_WRONG_TYPE , ed2 .getReason ());
114+ EvalDetail <String > ed3 = client .variationDetail ("ff-test-number" , user4 , "error" );
115+ assertEquals ("9999" ,ed3 .getVariation ());
116+ assertEquals (REASON_FALLTHROUGH , ed3 .getReason ());
117+ EvalDetail <Integer > ed4 = client .jsonVariationDetail ("ff-test-number" , user4 , Integer .class , -1 );
118+ assertEquals (9999 , ed4 .getVariation ());
119+ assertEquals (REASON_FALLTHROUGH , ed4 .getReason ());
120+ EvalDetail <Boolean > ed5 = client .jsonVariationDetail ("ff-test-number" , user4 , Boolean .class , false );
121+ assertFalse (ed5 .getVariation ());
122+ assertEquals (REASON_WRONG_TYPE , ed5 .getReason ());
123+ EvalDetail <String > ed6 = client .jsonVariationDetail ("ff-test-number" , user4 , String .class , "error" );
124+ assertEquals ("9999" ,ed6 .getVariation ());
125+ assertEquals (REASON_FALLTHROUGH , ed6 .getReason ());
126+
101127 }
102128 }
103129
@@ -114,6 +140,21 @@ void testStringVariation() throws IOException {
114140 EvalDetail <String > ed = client .variationDetail ("ff-test-string" , user1 , "error" );
115141 assertEquals ("others" , ed .getVariation ());
116142 assertEquals (REASON_FALLTHROUGH , ed .getReason ());
143+ EvalDetail <Boolean > ed1 = client .boolVariationDetail ("ff-test-string" , email , false );
144+ assertFalse (ed1 .getVariation ());
145+ assertEquals (REASON_WRONG_TYPE , ed1 .getReason ());
146+ EvalDetail <Double > ed2 = client .doubleVariationDetail ("ff-test-string" , email , -1D );
147+ assertEquals (-1D , ed2 .getVariation ());
148+ assertEquals (REASON_WRONG_TYPE , ed2 .getReason ());
149+ EvalDetail <Boolean > ed3 = client .jsonVariationDetail ("ff-test-string" , email , Boolean .class , false );
150+ assertFalse (ed3 .getVariation ());
151+ assertEquals (REASON_WRONG_TYPE , ed3 .getReason ());
152+ EvalDetail <Long > ed4 = client .jsonVariationDetail ("ff-test-string" , email , Long .class , -1L );
153+ assertEquals (-1L , ed4 .getVariation ());
154+ assertEquals (REASON_WRONG_TYPE , ed4 .getReason ());
155+ EvalDetail <String > ed5 = client .jsonVariationDetail ("ff-test-string" , email , String .class , "error" );
156+ assertEquals ("email" , ed5 .getVariation ());
157+ assertEquals (REASON_RULE_MATCH , ed5 .getReason ());
117158 }
118159 }
119160
0 commit comments