@@ -43,37 +43,6 @@ public void initialize() throws Exception {
43
43
optimizelyConfigService = new OptimizelyConfigService (projectConfig );
44
44
}
45
45
46
- @ Test
47
- public void testGetMergedVariablesMap () {
48
- List <Experiment > experiments = projectConfig .getExperiments ();
49
- experiments .forEach (experiment ->
50
- experiment .getVariations ().forEach (variation -> {
51
- // creating temporary variable map to get values while merging
52
- Map <String , OptimizelyVariable > tempVariableIdMap =
53
- optimizelyConfigService .getFeatureVariableUsageInstanceMap (variation .getFeatureVariableUsageInstances ());
54
- String featureKey = optimizelyConfigService .getExperimentFeatureKey (experiment .getId ());
55
- if (featureKey != null ) {
56
- // keeping all the feature variables for asserting
57
- List <FeatureVariable > featureVariables =
58
- optimizelyConfigService .generateFeatureKeyToVariablesMap ().get (featureKey );
59
- Map <String , OptimizelyVariable > optimizelyVariableMap =
60
- optimizelyConfigService .getMergedVariablesMap (variation , experiment .getId ());
61
- featureVariables .forEach (featureVariable -> {
62
- OptimizelyVariable optimizelyVariable = optimizelyVariableMap .get (featureVariable .getKey ());
63
- assertEquals (optimizelyVariable .getKey (), featureVariable .getKey ());
64
- assertEquals (optimizelyVariable .getId (), featureVariable .getId ());
65
- assertEquals (optimizelyVariable .getType (), featureVariable .getType ().getVariableType ().toLowerCase ());
66
- // getting the expected value to assert after merging
67
- String expectedValue = variation .getFeatureEnabled () && tempVariableIdMap .get (featureVariable .getId ()) != null
68
- ? tempVariableIdMap .get (featureVariable .getId ()).getValue ()
69
- : featureVariable .getDefaultValue ();
70
- assertEquals (optimizelyVariable .getValue (), expectedValue );
71
- });
72
- }
73
- })
74
- );
75
- }
76
-
77
46
@ Test
78
47
public void testGetExperimentsMap () {
79
48
Map <String , OptimizelyExperiment > optimizelyExperimentMap = optimizelyConfigService .getExperimentsMap ();
@@ -223,6 +192,35 @@ public void testGenerateFeatureKeyToVariablesMap() {
223
192
});
224
193
}
225
194
195
+ @ Test
196
+ public void testGetMergedVariablesMap () {
197
+ List <Experiment > experiments = projectConfig .getExperiments ();
198
+ experiments .forEach (experiment ->
199
+ experiment .getVariations ().forEach (variation -> {
200
+ // creating temporary variable map to get values while merging
201
+ Map <String , OptimizelyVariable > tempVariableIdMap = optimizelyConfigService .getFeatureVariableUsageInstanceMap (variation .getFeatureVariableUsageInstances ());
202
+ String featureKey = optimizelyConfigService .getExperimentFeatureKey (experiment .getId ());
203
+ if (featureKey != null ) {
204
+ // keeping all the feature variables for asserting
205
+ List <FeatureVariable > featureVariables = optimizelyConfigService .generateFeatureKeyToVariablesMap ().get (featureKey );
206
+ Map <String , OptimizelyVariable > optimizelyVariableMap = optimizelyConfigService .getMergedVariablesMap (variation , experiment .getId ());
207
+ featureVariables .forEach (featureVariable -> {
208
+ OptimizelyVariable optimizelyVariable = optimizelyVariableMap .get (featureVariable .getKey ());
209
+ assertEquals (optimizelyVariable .getKey (), featureVariable .getKey ());
210
+ assertEquals (optimizelyVariable .getId (), featureVariable .getId ());
211
+ assertEquals (optimizelyVariable .getType (), featureVariable .getType ().getVariableType ().toLowerCase ());
212
+ // getting the expected value to assert after merging
213
+ // if feature is enabled, then value should be taken from varition variable otherwise default value from feature variable is used.
214
+ String expectedValue = variation .getFeatureEnabled () && tempVariableIdMap .get (featureVariable .getId ()) != null
215
+ ? tempVariableIdMap .get (featureVariable .getId ()).getValue ()
216
+ : featureVariable .getDefaultValue ();
217
+ assertEquals (optimizelyVariable .getValue (), expectedValue );
218
+ });
219
+ }
220
+ })
221
+ );
222
+ }
223
+
226
224
private List <Experiment > getAllExperimentsFromDatafile () {
227
225
List <Experiment > experiments = new ArrayList <>();
228
226
projectConfig .getGroups ().forEach (group ->
0 commit comments