diff --git a/.travis.yml b/.travis.yml index cd46dcf5..1b16400a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,7 +48,7 @@ jobs: - stage: 'Unit Tests' language: csharp dist: xenial - mono: 5.2.0 + mono: 6.12.0 solution: "./OptimizelySDK.Travis.sln" install: - nuget restore ./OptimizelySDK.Travis.sln @@ -67,9 +67,9 @@ jobs: - stage: 'NetStandard16' language: csharp # dotnet only works on trusty https://github.com/travis-ci/travis-ci/issues/5189 - dist: trusty + dist: xenial mono: none - dotnet: 2.1.502 + dotnet: 3.1 install: - dotnet restore OptimizelySDK.NetStandard16/OptimizelySDK.NetStandard16.csproj script: @@ -84,9 +84,9 @@ jobs: - stage: 'NetStandard20' language: csharp # dotnet only works on trusty https://github.com/travis-ci/travis-ci/issues/5189 - dist: trusty + dist: xenial mono: none - dotnet: 2.1.502 + dotnet: 3.1 install: - dotnet restore OptimizelySDK.NetStandard20/OptimizelySDK.NetStandard20.csproj script: diff --git a/OptimizelySDK/OptlyConfig/OptimizelyConfigService.cs b/OptimizelySDK/OptlyConfig/OptimizelyConfigService.cs index 53ad7899..ae7a26e1 100644 --- a/OptimizelySDK/OptlyConfig/OptimizelyConfigService.cs +++ b/OptimizelySDK/OptlyConfig/OptimizelyConfigService.cs @@ -227,12 +227,11 @@ private IDictionary<string, OptimizelyFeature> GetFeaturesMap(ProjectConfig proj foreach (var featureFlag in projectConfig.FeatureFlags) { - var featureExperimentMap = experimentsMapById.Where(expMap => featureFlag.ExperimentIds.Contains(expMap.Key)) - .ToDictionary(k => k.Value.Key, v => v.Value); + var experimentRules = featureFlag.ExperimentIds.Select(experimentId => experimentsMapById[experimentId]).ToList(); var featureVariableMap = featureFlag.Variables.Select(v => (OptimizelyVariable)v).ToDictionary(k => k.Key, v => v) ?? new Dictionary<string, OptimizelyVariable>(); - var experimentRules = featureExperimentMap.Select(exMap => exMap.Value).ToList(); + var featureExperimentMap = experimentRules.ToDictionary(experiment => experiment.Key, experiment => experiment); var rollout = projectConfig.GetRolloutFromId(featureFlag.RolloutId); var deliveryRules = GetDeliveryRules(featureFlag.Id, rollout.Experiments, projectConfig);