@@ -80,6 +80,16 @@ void testBoolVariation() throws IOException {
80
80
ed = client .boolVariationDetail ("ff-test-bool" , user4 , false );
81
81
assertTrue (ed .getVariation ());
82
82
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 );
83
93
}
84
94
}
85
95
@@ -98,6 +108,22 @@ void testNumericVariation() throws IOException {
98
108
EvalDetail <Double > ed1 = client .doubleVariationDetail ("ff-test-number" , user4 , -1D );
99
109
assertEquals (9999D , ed1 .getVariation ());
100
110
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
+
101
127
}
102
128
}
103
129
@@ -114,6 +140,21 @@ void testStringVariation() throws IOException {
114
140
EvalDetail <String > ed = client .variationDetail ("ff-test-string" , user1 , "error" );
115
141
assertEquals ("others" , ed .getVariation ());
116
142
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 ());
117
158
}
118
159
}
119
160
0 commit comments