feat: add WithDefaultValueFor to mock behavior#377
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a new WithDefaultValueFor method to the MockBehavior class, allowing users to configure custom default value factories for specific types when creating mocks.
Changes:
- Introduces a new
DefaultValueFactoryclass for generating default values based on type predicates - Adds
WithDefaultValueFormethods toMockBehaviorfor configuring type-specific default values - Reorganizes test methods in
UseConstructorParametersForTestsfor better logical ordering
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Source/Mockolate/DefaultValueFactory.cs | New class providing extensible mechanism for type-based default value generation |
| Source/Mockolate/MockBehavior.cs | Adds WithDefaultValueFor methods and internal generator wrapper to support custom default value factories |
| Tests/Mockolate.Tests/MockBehaviorTests.WithDefaultValueForTests.cs | Comprehensive test coverage for the new default value factory functionality |
| Tests/Mockolate.Tests/MockBehaviorTests.UseConstructorParametersForTests.cs | Reorders test methods without changing functionality |
| Tests/Mockolate.Api.Tests/Expected/Mockolate_netstandard2.0.txt | Updates API surface for .NET Standard 2.0 |
| Tests/Mockolate.Api.Tests/Expected/Mockolate_net8.0.txt | Updates API surface for .NET 8.0 |
| Tests/Mockolate.Api.Tests/Expected/Mockolate_net10.0.txt | Updates API surface for .NET 10.0 |
🚀 Benchmark ResultsDetails
|
Test Results 14 files ± 0 14 suites ±0 5m 59s ⏱️ + 1m 7s Results for commit 3f16858. ± Comparison against base commit 58154b2. This pull request removes 2 and adds 8 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
|
|
This is addressed in release v0.53.0. |



This PR adds a new
WithDefaultValueFormethod to theMockBehaviorclass, allowing users to configure custom default value factories for specific types when creating mocks.Key Changes:
DefaultValueFactoryclass for generating default values based on type predicatesWithDefaultValueFormethods toMockBehaviorfor configuring type-specific default values