Skip to content

refactor: rename IPropertySetupWhenBuilder to IPropertySetupCallbackWhenBuilder for consistency#319

Merged
vbreuss merged 3 commits intomainfrom
topic/minor-setup-bugfixes
Dec 13, 2025
Merged

refactor: rename IPropertySetupWhenBuilder to IPropertySetupCallbackWhenBuilder for consistency#319
vbreuss merged 3 commits intomainfrom
topic/minor-setup-bugfixes

Conversation

@vbreuss
Copy link
Copy Markdown
Contributor

@vbreuss vbreuss commented Dec 13, 2025

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:

  • Renamed IPropertySetupWhenBuilder<T> to IPropertySetupCallbackWhenBuilder<T> for consistency
  • Removed unused field and dead code in property setup initialization logic
  • Fixed indexer setup to use base values without unnecessary default value generators

@vbreuss vbreuss self-assigned this Dec 13, 2025
Copilot AI review requested due to automatic review settings December 13, 2025 21:26
@vbreuss vbreuss added the coverage Additional tests for edge cases or improvement of test coverage label Dec 13, 2025
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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> to IPropertySetupCallbackWhenBuilder<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

@vbreuss vbreuss changed the title refactor: minor setup bugfixes refactor: rename IPropertySetupWhenBuilder to IPropertySetupCallbackWhenBuilder for consistency Dec 13, 2025
@vbreuss vbreuss enabled auto-merge (squash) December 13, 2025 21:29
@vbreuss vbreuss disabled auto-merge December 13, 2025 21:31
Copilot AI review requested due to automatic review settings December 13, 2025 21:32
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Dec 13, 2025

🚀 Benchmark Results

Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.3 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.101
[Host] : .NET 10.0.1 (10.0.1, 10.0.125.57005), X64 RyuJIT x86-64-v4

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Method Mean Error StdDev Gen0 Gen1 Allocated
Simple_Mockolate 1.414 μs 0.0098 μs 0.0092 μs 0.1488 - 3.66 KB
Simple_Moq 135.278 μs 0.5378 μs 0.4491 μs 0.4883 0.2441 14.56 KB
Simple_NSubstitute 5.883 μs 0.0655 μs 0.0612 μs 0.3662 - 9.14 KB
Simple_FakeItEasy 6.087 μs 0.0383 μs 0.0358 μs 0.3281 - 8.12 KB

@vbreuss vbreuss enabled auto-merge (squash) December 13, 2025 21:33
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 19 changed files in this pull request and generated no new comments.

@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

Test Results

    14 files  ±  0      14 suites  ±0   5m 15s ⏱️ +24s
 1 773 tests + 87   1 772 ✅ + 87  1 💤 ±0  0 ❌ ±0 
11 868 runs  +609  11 867 ✅ +609  1 💤 ±0  0 ❌ ±0 

Results for commit 378ae40. ± Comparison against base commit 1fde676.

@vbreuss vbreuss merged commit 01681dc into main Dec 13, 2025
12 checks passed
@vbreuss vbreuss deleted the topic/minor-setup-bugfixes branch December 13, 2025 21:38
@github-actions
Copy link
Copy Markdown

This is addressed in release v0.46.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

coverage Additional tests for edge cases or improvement of test coverage state: released The issue is released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants