11
11
import static org .mockito .Mockito .times ;
12
12
import static org .mockito .Mockito .verify ;
13
13
14
+ import java .util .HashMap ;
14
15
import java .util .List ;
16
+ import java .util .Map ;
15
17
18
+ import io .cucumber .java .hu .Ha ;
16
19
import org .junit .jupiter .api .AfterEach ;
17
20
import org .junit .jupiter .api .Test ;
18
21
@@ -100,24 +103,24 @@ private Client _client() {
100
103
String key = "key" ;
101
104
102
105
assertEquals (true , c .getBooleanValue (key , false ));
103
- assertEquals (true , c .getBooleanValue (key , false , new MutableContext ()));
104
- assertEquals (true , c .getBooleanValue (key , false , new MutableContext (), FlagEvaluationOptions .builder ().build ()));
106
+ assertEquals (true , c .getBooleanValue (key , false , new ImmutableContext ()));
107
+ assertEquals (true , c .getBooleanValue (key , false , new ImmutableContext (), FlagEvaluationOptions .builder ().build ()));
105
108
106
109
assertEquals ("gnirts-ym" , c .getStringValue (key , "my-string" ));
107
- assertEquals ("gnirts-ym" , c .getStringValue (key , "my-string" , new MutableContext ()));
108
- assertEquals ("gnirts-ym" , c .getStringValue (key , "my-string" , new MutableContext (), FlagEvaluationOptions .builder ().build ()));
110
+ assertEquals ("gnirts-ym" , c .getStringValue (key , "my-string" , new ImmutableContext ()));
111
+ assertEquals ("gnirts-ym" , c .getStringValue (key , "my-string" , new ImmutableContext (), FlagEvaluationOptions .builder ().build ()));
109
112
110
113
assertEquals (400 , c .getIntegerValue (key , 4 ));
111
- assertEquals (400 , c .getIntegerValue (key , 4 , new MutableContext ()));
112
- assertEquals (400 , c .getIntegerValue (key , 4 , new MutableContext (), FlagEvaluationOptions .builder ().build ()));
114
+ assertEquals (400 , c .getIntegerValue (key , 4 , new ImmutableContext ()));
115
+ assertEquals (400 , c .getIntegerValue (key , 4 , new ImmutableContext (), FlagEvaluationOptions .builder ().build ()));
113
116
114
117
assertEquals (40.0 , c .getDoubleValue (key , .4 ));
115
- assertEquals (40.0 , c .getDoubleValue (key , .4 , new MutableContext ()));
116
- assertEquals (40.0 , c .getDoubleValue (key , .4 , new MutableContext (), FlagEvaluationOptions .builder ().build ()));
118
+ assertEquals (40.0 , c .getDoubleValue (key , .4 , new ImmutableContext ()));
119
+ assertEquals (40.0 , c .getDoubleValue (key , .4 , new ImmutableContext (), FlagEvaluationOptions .builder ().build ()));
117
120
118
121
assertEquals (null , c .getObjectValue (key , new Value ()));
119
- assertEquals (null , c .getObjectValue (key , new Value (), new MutableContext ()));
120
- assertEquals (null , c .getObjectValue (key , new Value (), new MutableContext (), FlagEvaluationOptions .builder ().build ()));
122
+ assertEquals (null , c .getObjectValue (key , new Value (), new ImmutableContext ()));
123
+ assertEquals (null , c .getObjectValue (key , new Value (), new ImmutableContext (), FlagEvaluationOptions .builder ().build ()));
121
124
}
122
125
123
126
@ Specification (number ="1.4.1" , text ="The client MUST provide methods for detailed flag value evaluation with parameters flag key (string, required), default value (boolean | number | string | structure, required), evaluation context (optional), and evaluation options (optional), which returns an evaluation details structure." )
@@ -138,33 +141,33 @@ private Client _client() {
138
141
.variant (null )
139
142
.build ();
140
143
assertEquals (bd , c .getBooleanDetails (key , true ));
141
- assertEquals (bd , c .getBooleanDetails (key , true , new MutableContext ()));
142
- assertEquals (bd , c .getBooleanDetails (key , true , new MutableContext (), FlagEvaluationOptions .builder ().build ()));
144
+ assertEquals (bd , c .getBooleanDetails (key , true , new ImmutableContext ()));
145
+ assertEquals (bd , c .getBooleanDetails (key , true , new ImmutableContext (), FlagEvaluationOptions .builder ().build ()));
143
146
144
147
FlagEvaluationDetails <String > sd = FlagEvaluationDetails .<String >builder ()
145
148
.flagKey (key )
146
149
.value ("tset" )
147
150
.variant (null )
148
151
.build ();
149
152
assertEquals (sd , c .getStringDetails (key , "test" ));
150
- assertEquals (sd , c .getStringDetails (key , "test" , new MutableContext ()));
151
- assertEquals (sd , c .getStringDetails (key , "test" , new MutableContext (), FlagEvaluationOptions .builder ().build ()));
153
+ assertEquals (sd , c .getStringDetails (key , "test" , new ImmutableContext ()));
154
+ assertEquals (sd , c .getStringDetails (key , "test" , new ImmutableContext (), FlagEvaluationOptions .builder ().build ()));
152
155
153
156
FlagEvaluationDetails <Integer > id = FlagEvaluationDetails .<Integer >builder ()
154
157
.flagKey (key )
155
158
.value (400 )
156
159
.build ();
157
160
assertEquals (id , c .getIntegerDetails (key , 4 ));
158
- assertEquals (id , c .getIntegerDetails (key , 4 , new MutableContext ()));
159
- assertEquals (id , c .getIntegerDetails (key , 4 , new MutableContext (), FlagEvaluationOptions .builder ().build ()));
161
+ assertEquals (id , c .getIntegerDetails (key , 4 , new ImmutableContext ()));
162
+ assertEquals (id , c .getIntegerDetails (key , 4 , new ImmutableContext (), FlagEvaluationOptions .builder ().build ()));
160
163
161
164
FlagEvaluationDetails <Double > dd = FlagEvaluationDetails .<Double >builder ()
162
165
.flagKey (key )
163
166
.value (40.0 )
164
167
.build ();
165
168
assertEquals (dd , c .getDoubleDetails (key , .4 ));
166
- assertEquals (dd , c .getDoubleDetails (key , .4 , new MutableContext ()));
167
- assertEquals (dd , c .getDoubleDetails (key , .4 , new MutableContext (), FlagEvaluationOptions .builder ().build ()));
169
+ assertEquals (dd , c .getDoubleDetails (key , .4 , new ImmutableContext ()));
170
+ assertEquals (dd , c .getDoubleDetails (key , .4 , new ImmutableContext (), FlagEvaluationOptions .builder ().build ()));
168
171
169
172
// TODO: Structure detail tests.
170
173
}
@@ -233,22 +236,25 @@ private Client _client() {
233
236
DoSomethingProvider provider = new DoSomethingProvider ();
234
237
api .setProvider (provider );
235
238
236
- MutableContext apiCtx = new MutableContext ();
237
- apiCtx .add ("common" , "1" );
238
- apiCtx .add ("common2" , "1" );
239
- apiCtx .add ("api" , "2" );
239
+ Map <String , Value > attributes = new HashMap <>();
240
+ attributes .put ("common" , new Value ("1" ));
241
+ attributes .put ("common2" , new Value ("1" ));
242
+ attributes .put ("api" , new Value ("2" ));
243
+ EvaluationContext apiCtx = new ImmutableContext (attributes );
244
+
240
245
api .setEvaluationContext (apiCtx );
241
246
242
247
Client c = api .getClient ();
243
- MutableContext clientCtx = new MutableContext ();
244
- clientCtx .add ("common" , "3" );
245
- clientCtx .add ("common2" , "3" );
246
- clientCtx .add ("client" , "4" );
248
+ Map <String , Value > attributes1 = new HashMap <>();
249
+ attributes .put ("common" , new Value ("3" ));
250
+ attributes .put ("common2" , new Value ("3" ));
251
+ attributes .put ("client" , new Value ("4" ));
252
+ attributes .put ("common" , new Value ("5" ));
253
+ attributes .put ("invocation" , new Value ("6" ));
254
+ EvaluationContext clientCtx = new ImmutableContext (attributes );
247
255
c .setEvaluationContext (clientCtx );
248
256
249
- MutableContext invocationCtx = new MutableContext ();
250
- clientCtx .add ("common" , "5" );
251
- clientCtx .add ("invocation" , "6" );
257
+ EvaluationContext invocationCtx = new ImmutableContext ();
252
258
253
259
// dosomethingprovider inverts this value.
254
260
assertTrue (c .getBooleanValue ("key" , false , invocationCtx ));
0 commit comments