Commit a0c58ae
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 scopes1 parent fa5eb92 commit a0c58ae
File tree
134 files changed
+8968
-1820
lines changed- .github/workflows
- benchmarks/ExperimentFramework.Benchmarks
- docs
- user-guide
- samples
- ExperimentFramework.ComprehensiveSample
- Decorators
- Demos
- Services/Telemetry
- ExperimentFramework.SampleConsole
- ExperimentFramework.SampleWebApp
- Controllers
- Services
- src
- ExperimentFramework.FeatureManagement
- ExperimentFramework.Generators
- Analyzers
- CodeGen
- Models
- ExperimentFramework.Metrics.Exporters
- ExperimentFramework.OpenFeature
- ExperimentFramework.Resilience
- ExperimentFramework.StickyRouting
- ExperimentFramework
- Activation
- Decorators
- KillSwitch
- Metrics
- Models
- Naming
- Selection
- Providers
- Telemetry
- Validation
- tests/ExperimentFramework.Tests
- TestInterfaces
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| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
44 | | - | |
45 | | - | |
| 43 | + | |
46 | 44 | | |
47 | 45 | | |
48 | 46 | | |
| |||
55 | 53 | | |
56 | 54 | | |
57 | 55 | | |
58 | | - | |
59 | | - | |
| 56 | + | |
| 57 | + | |
60 | 58 | | |
61 | 59 | | |
62 | 60 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
| 12 | + | |
11 | 13 | | |
| 14 | + | |
12 | 15 | | |
13 | 16 | | |
14 | 17 | | |
| |||
0 commit comments