Skip to content

Commit 6472076

Browse files
mfahadahmedwangjoshuah
authored andcommitted
GetEnabledFeatures now returns sorted features list. (#69)
* GetEnabledFeatures now returns sorted features list ignoring case
1 parent 53bd00f commit 6472076

File tree

4 files changed

+19
-5
lines changed

4 files changed

+19
-5
lines changed

OptimizelySDK.Tests/OptimizelyTest.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1815,10 +1815,11 @@ public void TestGetEnabledFeaturesWithSomeFeaturesEnabledForUser()
18151815
public void TestGetEnabledFeaturesReturnsSortedList()
18161816
{
18171817
string[] unsortedFeaturesList =
1818-
{
1818+
{
1819+
"Double_single_variable_feature_ignorecase",
18191820
"double_single_variable_feature",
18201821
"boolean_feature",
1821-
"string_single_variable_feature",
1822+
"string_single_variable_feature",
18221823
"multi_variate_feature",
18231824
"empty_feature",
18241825
"boolean_single_variable_feature"
@@ -1828,6 +1829,8 @@ public void TestGetEnabledFeaturesReturnsSortedList()
18281829
"boolean_feature",
18291830
"boolean_single_variable_feature",
18301831
"double_single_variable_feature",
1832+
//It must come first, if case-sensitive sorted otherwise should come at 4th place
1833+
"Double_single_variable_feature_ignorecase",
18311834
"empty_feature",
18321835
"multi_variate_feature",
18331836
"string_single_variable_feature",

OptimizelySDK.Tests/ProjectConfigTest.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,7 @@ public void TestInit()
356356
{
357357
{ "boolean_feature", Config.GetFeatureFlagFromKey("boolean_feature") },
358358
{ "double_single_variable_feature", Config.GetFeatureFlagFromKey("double_single_variable_feature") },
359+
{ "Double_single_variable_feature_ignorecase", Config.GetFeatureFlagFromKey("Double_single_variable_feature_ignorecase") },
359360
{ "integer_single_variable_feature", Config.GetFeatureFlagFromKey("integer_single_variable_feature") },
360361
{ "boolean_single_variable_feature", Config.GetFeatureFlagFromKey("boolean_single_variable_feature") },
361362
{ "string_single_variable_feature", Config.GetFeatureFlagFromKey("string_single_variable_feature") },

OptimizelySDK.Tests/TestData.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,18 @@
434434
"rolloutId": "",
435435
"experimentIds": ["7723330021", "7718750065"],
436436
"variables": []
437-
}, {
437+
},
438+
{
439+
"id": "1555892",
440+
"key": "Double_single_variable_feature_ignorecase",
441+
"rolloutId": "",
442+
"experimentIds": [
443+
"7723330021",
444+
"7718750065"
445+
],
446+
"variables": []
447+
},
448+
{
438449
"id": "155550",
439450
"key": "double_single_variable_feature",
440451
"rolloutId": "",

OptimizelySDK/Optimizely.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -591,8 +591,7 @@ public List<string> GetEnabledFeatures(string userId, UserAttributes userAttribu
591591
enabledFeaturesList.Add(featureKey);
592592
}
593593

594-
enabledFeaturesList.Sort();
595-
594+
enabledFeaturesList.Sort(StringComparer.OrdinalIgnoreCase);
596595
return enabledFeaturesList;
597596
}
598597

0 commit comments

Comments
 (0)