feat: results implement IOptionsProvider{T}#696
Conversation
In order to enhance extensibility, the result classes now implement `IOptionsProvider{T}` for their respective options.
There was a problem hiding this comment.
Pull Request Overview
This PR enhances extensibility by making result classes implement IOptionsProvider<T> for their respective options classes. This allows consumers to access the underlying options from result objects, providing better programmatic access to configuration.
Key Changes
- Adds
IOptionsProvider<T>interface implementation to multiple result classes - Exposes options through explicit interface implementation
- Updates API surface documentation to reflect the new interface implementations
Reviewed Changes
Copilot reviewed 38 out of 38 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| Source files | Multiple result classes now implement IOptionsProvider<T> with explicit interface implementations to expose their options |
| Test files | New unit tests verify that result classes correctly implement IOptionsProvider<T> and return the expected options instances |
| API documentation | Updated expected API surface files to reflect the new interface implementations |
Comments suppressed due to low confidence (2)
Tests/aweXpect.Internal.Tests/Results/SignalCountResultTests.cs:22
- The test method name suggests it's testing PredicateOptions, but the test is actually verifying SignalerOptions. The method name should be
ShouldBeOptionsProvider_ForSignalerOptionsto accurately reflect what is being tested.
public async Task ShouldBeOptionsProvider_ForPredicateOptions()
Tests/aweXpect.Internal.Tests/Results/SignalCountResultTests.cs:12
- The test method name suggests it's testing PredicateOptions, but the test is actually verifying SignalerOptions. The method name should be
Generic_ShouldBeOptionsProvider_ForSignalerOptionsto accurately reflect what is being tested.
public async Task Generic_ShouldBeOptionsProvider_ForPredicateOptions()
Test Results 4 files ± 0 4 suites ±0 22s ⏱️ +2s Results for commit 97b6ab7. ± Comparison against base commit d5b7a30. This pull request removes 53 and adds 66 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
|
|
This is addressed in release v2.21.0. |



This PR enhances extensibility by making result classes implement
IOptionsProvider<T>for their respective options classes. This allows consumers to access the underlying options from result objects, providing better programmatic access to configuration.Key Changes
IOptionsProvider<T>interface implementation to multiple result classes