Skip to content

Commit a0c58ae

Browse files
authored
refactor: introduce fluent DSL with equivalent method names for flexible terminology
* refactor: introduce fluent DSL with equivalent method names for flexible terminology Add multiple equivalent method names to support different team conventions: - AddControl/AddDefaultTrial for baseline implementations - AddCondition/AddVariant/AddTrial for alternative implementations - Trial/Define for experiment definitions Changes include: - New builder methods with consistent fluent API design - Time-based activation (ActiveFrom, ActiveUntil, ActiveWhen) - Named experiments spanning multiple service interfaces - Trial conflict detection and validation - Updated source generators to recognize new method names - Comprehensive documentation explaining the fluent DSL philosophy - Updated all docs, samples, and tests to use new terminology * feat: split out providers into serparate packages. * tests: added additional test coverage * test: add unit tests for TrialConflictException and ExperimentBuilder validation * chore: add coverage run settings for code coverage configuration * ci: update code coverage settings for improved reporting * test: enhance null handling and improve fallback key validation * test: improve null handling in ExperimentBuilder and RuntimeExperimentProxy tests * fix: remove trivial self-comparison assertion in Equals test Replace Assert.True(db.Equals(db)) with meaningful assertions that test actual proxy behavior - null handling and type mismatch cases. * test: improve RuntimeExperimentProxy Equals test coverage - Test null handling behavior - Test type mismatch comparisons (string, int) - Verify proxy type checking works - Verify functional consistency across scopes
1 parent fa5eb92 commit a0c58ae

File tree

134 files changed

+8968
-1820
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+8968
-1820
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ jobs:
4040
dotnet test ExperimentFramework.slnx \
4141
--configuration Release \
4242
--collect:"XPlat Code Coverage" \
43-
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura \
44-
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Include="[ExperimentFramework*]*" \
45-
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Exclude="[*Tests]*"
43+
--settings tests/ExperimentFramework.Tests/coverage.runsettings
4644
4745
- name: Install ReportGenerator
4846
run: dotnet tool update -g dotnet-reportgenerator-globaltool
@@ -55,8 +53,8 @@ jobs:
5553
-reports:"$REPORTS" \
5654
-targetdir:"coverage-report" \
5755
-reporttypes:"HtmlInline;Cobertura;TextSummary;lcov;Badges" \
58-
-assemblyfilters:"+ExperimentFramework*;-*Tests*" \
59-
-filefilters:"-**/*.Tests/*;-**/*Tests*/**"
56+
-assemblyfilters:"+ExperimentFramework*;-*Tests*;-*SampleConsole*;-*SampleWebApp*;-*ComprehensiveSample*;-*Benchmarks*" \
57+
-filefilters:"-**/*.Tests/*;-**/*Tests*/**;-**/samples/**;-**/benchmarks/**"
6058
echo "COVERAGE_SUMMARY<<EOF" >> $GITHUB_ENV
6159
cat coverage-report/Summary.txt >> $GITHUB_ENV
6260
echo "EOF" >> $GITHUB_ENV

ExperimentFramework.slnx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@
66
</Folder>
77
<Folder Name="/src/">
88
<Project Path="benchmarks/ExperimentFramework.Benchmarks/ExperimentFramework.Benchmarks.csproj" />
9+
<Project Path="src/ExperimentFramework.FeatureManagement/ExperimentFramework.FeatureManagement.csproj" />
910
<Project Path="src/ExperimentFramework.Generators/ExperimentFramework.Generators.csproj" />
1011
<Project Path="src/ExperimentFramework.Metrics.Exporters/ExperimentFramework.Metrics.Exporters.csproj" />
12+
<Project Path="src/ExperimentFramework.OpenFeature/ExperimentFramework.OpenFeature.csproj" />
1113
<Project Path="src/ExperimentFramework.Resilience/ExperimentFramework.Resilience.csproj" />
14+
<Project Path="src/ExperimentFramework.StickyRouting/ExperimentFramework.StickyRouting.csproj" />
1215
<Project Path="src/ExperimentFramework/ExperimentFramework.csproj" />
1316
</Folder>
1417
<Folder Name="/tests/">

0 commit comments

Comments
 (0)