Conversation
There was a problem hiding this comment.
Pull request overview
This PR refactors minor setup-related code to fix bugs and improve consistency. The changes focus on removing unnecessary code in property initialization, renaming interfaces for better clarity, and correcting indexer setup handling.
- Removed unused field and dead code in property setup initialization logic
- Renamed
IPropertySetupWhenBuilder<T>toIPropertySetupCallbackWhenBuilder<T>for consistency - Fixed indexer setup to use base values without unnecessary default value generators
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Tests/Mockolate.Tests/Verify/MockVerifyTests.cs | Added test case to verify setup validation works when no setup is configured |
| Tests/Mockolate.Tests/MockProperties/SetupPropertyTests.ReturnsThrowsTests.cs | Added tests verifying builder methods don't throw without callbacks |
| Tests/Mockolate.Tests/MockProperties/SetupPropertyTests.OnGetTests.cs | Added tests for incrementing access counter and validation of builder methods |
| Tests/Mockolate.Tests/MockMethods/SetupMethodTests.cs | Added test for TriggerCallbacks with mismatched array lengths; improved line formatting |
| Tests/Mockolate.Tests/MockMethods/SetupMethodTests.ReturnsThrowsTests.cs | Added comprehensive tests verifying builder methods function without callbacks across all method arities |
| Tests/Mockolate.Tests/MockMethods/SetupMethodTests.CallbackTests.cs | Added tests ensuring callback builder methods work without prior callback setup |
| Tests/Mockolate.Tests/MockIndexers/SetupIndexerTests.cs | Improved code formatting by splitting long lines |
| Tests/Mockolate.Tests/MockIndexers/SetupIndexerTests.ReturnsThrowsTests.cs | Added tests for builder methods and improved code formatting |
| Tests/Mockolate.Tests/MockIndexers/SetupIndexerTests.OnSetTests.cs | Added tests for incrementing access counter in setter callbacks |
| Tests/Mockolate.Tests/MockIndexers/SetupIndexerTests.OnGetTests.cs | Added tests for access counter and builder method validation |
| Tests/Mockolate.SourceGenerators.Tests/Sources/ForMockTests.ImplementClassTests.cs | Updated expected generated code to reflect indexer setup changes |
| Tests/Mockolate.Api.Tests/Expected/Mockolate_netstandard2.0.txt | Updated API surface to reflect interface renaming |
| Tests/Mockolate.Api.Tests/Expected/Mockolate_net8.0.txt | Updated API surface to reflect interface renaming |
| Tests/Mockolate.Api.Tests/Expected/Mockolate_net10.0.txt | Updated API surface to reflect interface renaming |
| Source/Mockolate/SetupExtensions.cs | Updated extension method to use renamed interface |
| Source/Mockolate/Setup/PropertySetup.cs | Removed unused field and dead initialization code; updated interface references |
| Source/Mockolate/Setup/Interfaces.PropertySetup.cs | Renamed interface from IPropertySetupWhenBuilder<T> to IPropertySetupCallbackWhenBuilder<T> |
| Source/Mockolate/Setup/IndexerSetupResult.cs | Simplified GetResult to use base values directly without default generators |
| Source/Mockolate.SourceGenerators/Sources/Sources.ForMock.cs | Updated source generator to remove default value generator calls in indexer implementations |
IPropertySetupWhenBuilder to IPropertySetupCallbackWhenBuilder for consistency
🚀 Benchmark ResultsDetails
|
|
|
This is addressed in release v0.46.0. |



This PR refactors minor setup-related code to fix bugs and improve consistency. The changes focus on removing unnecessary code in property initialization, renaming interfaces for better clarity, and correcting indexer setup handling.
Key changes:
IPropertySetupWhenBuilder<T>toIPropertySetupCallbackWhenBuilder<T>for consistency