Skip to content

docs: restructure the user docs - #919

Merged
vbreuss merged 1 commit into
mainfrom
docs/restructure-user-docs
Oct 30, 2026
Merged

vbreuss merged 1 commit into
mainfrom
docs/restructure-user-docs

Conversation

@vbreuss

@vbreuss vbreuss commented Oct 30, 2026

Copy link
Copy Markdown
Member

The docs grew page by page and were hard to follow for new users: there was no getting started path, parameter matching was hidden under setup, and the comparison and migration pages overlapped. The pages now lead from introduction to reference, each section has an overview page, and every sample was checked against the library.

The docs grew page by page and were hard to follow for new users: there was no getting started path, parameter matching was hidden under setup, and the comparison and migration pages overlapped. The pages now lead from introduction to reference, each section has an overview page, and every sample was checked against the library.
@vbreuss vbreuss self-assigned this Oct 30, 2026
@vbreuss vbreuss added the documentation Improvements or additions to documentation label Oct 30, 2026
@vbreuss
vbreuss enabled auto-merge (squash) October 30, 2026 19:19
@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

Test Results

    31 files  ±0      31 suites  ±0   47m 19s ⏱️ - 3m 41s
 4 531 tests ±0   4 531 ✅ ±0  0 💤 ±0  0 ❌ ±0 
28 822 runs  ±0  28 822 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 9dae032. ± Comparison against base commit 1f0c6d3.

This pull request removes 22 and adds 16 tests. Note that renamed tests count towards both.
 x-myHeader3: baz, True)
)
Mockolate.Internal.Tests.Internals.WildcardTests ‑ ShouldSupportMultilineStrings(
Mockolate.Internal.Tests.Internals.WildcardTests ‑ ShouldSupportMultilineStrings(
Mockolate.SourceGenerators.Tests.MethodSetupsTests ‑ WhenImplementingObjectMethods_ShouldUseSpecialInterfaces(bool Equals(object obj);
Mockolate.SourceGenerators.Tests.MethodSetupsTests ‑ WhenImplementingObjectMethods_ShouldUseSpecialInterfaces(bool Equals(object obj);
Mockolate.SourceGenerators.Tests.MethodSetupsTests ‑ WhenImplementingObjectMethods_ShouldUseSpecialInterfaces(string ToString();
Mockolate.SourceGenerators.Tests.MethodSetupsTests ‑ WhenImplementingObjectMethods_ShouldUseSpecialInterfaces(string ToString();
Mockolate.Tests.Web.ItExtensionsTests+IsHttpContentTests+WithHeadersTests ‑ ShouldVerifyStringHeaders(x-myHeader1 : foo
Mockolate.Tests.Web.ItExtensionsTests+IsHttpContentTests+WithHeadersTests ‑ ShouldVerifyStringHeaders(x-myHeader1 : foo
…
Mockolate.Internal.Tests.Internals.WildcardTests ‑ ShouldSupportMultilineStrings(
)
Mockolate.Internal.Tests.Internals.WildcardTests ‑ ShouldSupportMultilineStrings(
)
Mockolate.SourceGenerators.Tests.MethodSetupsTests ‑ WhenImplementingObjectMethods_ShouldUseSpecialInterfaces(bool Equals(object obj);
int GetHashCode();, public override bool Equals(object obj), public override int GetHashCode())
Mockolate.SourceGenerators.Tests.MethodSetupsTests ‑ WhenImplementingObjectMethods_ShouldUseSpecialInterfaces(bool Equals(object obj);
int GetHashCode();, public override bool Equals(object obj), public override int GetHashCode())
Mockolate.SourceGenerators.Tests.MethodSetupsTests ‑ WhenImplementingObjectMethods_ShouldUseSpecialInterfaces(string ToString();
bool Equals(object obj);, public override string ToString(), public override bool Equals(object obj))
Mockolate.SourceGenerators.Tests.MethodSetupsTests ‑ WhenImplementingObjectMethods_ShouldUseSpecialInterfaces(string ToString();
bool Equals(object? obj);
int GetHashCode();, public override string ToString(), public override int GetHashCode(), public override bool Equals(object? obj))
Mockolate.SourceGenerators.Tests.MethodSetupsTests ‑ WhenImplementingObjectMethods_ShouldUseSpecialInterfaces(string ToString();
int GetHashCode();, public override string ToString(), public override int GetHashCode())
Mockolate.SourceGenerators.Tests.MethodSetupsTests ‑ WhenImplementingObjectMethods_ShouldUseSpecialInterfaces(string ToString();
bool Equals(object obj);, public override string ToString(), public override bool Equals(object obj))
Mockolate.SourceGenerators.Tests.MethodSetupsTests ‑ WhenImplementingObjectMethods_ShouldUseSpecialInterfaces(string ToString();
bool Equals(object? obj);
int GetHashCode();, public override string ToString(), public override int GetHashCode(), public override bool Equals(object? obj))
Mockolate.SourceGenerators.Tests.MethodSetupsTests ‑ WhenImplementingObjectMethods_ShouldUseSpecialInterfaces(string ToString();
int GetHashCode();, public override string ToString(), public override int GetHashCode())
…

@github-actions

Copy link
Copy Markdown

🚀 Benchmark Results

Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 26.04.1 LTS (Resolute Raccoon)
AMD EPYC 7763 2.91GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.14 (10.0.14, 10.0.1426.52326), X64 RyuJIT x86-64-v3

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

Method N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 361.7 ns 4.45 ns 3.72 ns 1.02 1976 B 1.00
Mockolate 1 356.0 ns 6.54 ns 5.80 ns 1.00 1976 B 1.00
Imposter 1 232.5 ns 6.55 ns 6.13 ns 0.65 928 B 0.47
TUnitMocks 1 516.9 ns 8.93 ns 8.35 ns 1.45 2088 B 1.06
Moq 1 187,785.2 ns 1,752.68 ns 1,639.46 ns 527.58 14926 B 7.55
NSubstitute 1 6,340.2 ns 51.38 ns 48.06 ns 17.81 9336 B 4.72
FakeItEasy 1 6,121.5 ns 92.95 ns 86.95 ns 17.20 8244 B 4.17
baseline* 10 673.1 ns 14.49 ns 13.55 ns 1.00 2192 B 1.00
Mockolate 10 675.9 ns 4.97 ns 4.15 ns 1.00 2192 B 1.00
Imposter 10 555.4 ns 9.03 ns 8.44 ns 0.82 1792 B 0.82
TUnitMocks 10 1,391.0 ns 21.28 ns 19.90 ns 2.06 3840 B 1.75
Moq 10 193,612.8 ns 2,137.53 ns 1,999.44 ns 286.45 18925 B 8.63
NSubstitute 10 9,340.9 ns 74.89 ns 70.05 ns 13.82 12361 B 5.64
FakeItEasy 10 9,250.1 ns 85.77 ns 80.23 ns 13.69 15786 B 7.20
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 26.04.1 LTS (Resolute Raccoon)
AMD EPYC 9V45 4.49GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.14 (10.0.14, 10.0.1426.52326), X64 RyuJIT x86-64-v4

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

CreateMock Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 18.26 ns 0.242 ns 0.226 ns 1.60 160 B 1.00
Mockolate 11.39 ns 0.337 ns 0.299 ns 1.00 160 B 1.00
Imposter 79.55 ns 2.644 ns 2.473 ns 6.99 576 B 3.60
TUnitMocks 23.05 ns 0.447 ns 0.397 ns 2.03 216 B 1.35
Moq 847.52 ns 20.514 ns 19.188 ns 74.48 2096 B 13.10
NSubstitute 1,160.85 ns 40.563 ns 35.958 ns 102.02 5048 B 31.55
FakeItEasy 1,097.46 ns 42.806 ns 40.041 ns 96.45 2763 B 17.27
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 26.04.1 LTS (Resolute Raccoon)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.14 (10.0.14, 10.0.1426.52326), X64 RyuJIT x86-64-v4

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

Event Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 316.6 ns 13.12 ns 12.28 ns 1.37 1744 B 1.00
Mockolate 230.5 ns 3.54 ns 3.31 ns 1.00 1744 B 1.00
Imposter 159.5 ns 1.31 ns 1.22 ns 0.69 512 B 0.29
TUnitMocks 135.8 ns 0.94 ns 0.88 ns 0.59 1392 B 0.80
Moq 11,113.6 ns 109.60 ns 97.16 ns 48.23 12809 B 7.34
NSubstitute 4,227.0 ns 59.80 ns 53.01 ns 18.34 9264 B 5.31
FakeItEasy 185,320.0 ns 272.08 ns 241.20 ns 804.16 15755 B 9.03
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 26.04.1 LTS (Resolute Raccoon)
AMD EPYC 9V45 4.22GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.14 (10.0.14, 10.0.1426.52326), X64 RyuJIT x86-64-v4

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

Property N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 537.5 ns 41.90 ns 39.20 ns 1.73 2472 B 1.00
Mockolate 1 310.9 ns 4.55 ns 4.26 ns 1.00 2472 B 1.00
Imposter 1 111.0 ns 1.51 ns 1.34 ns 0.36 664 B 0.27
TUnitMocks 1 282.0 ns 5.99 ns 5.60 ns 0.91 1696 B 0.69
Moq 1 5,579.5 ns 72.50 ns 67.82 ns 17.95 10640 B 4.30
NSubstitute 1 3,696.0 ns 85.15 ns 75.48 ns 11.89 11720 B 4.74
FakeItEasy 1 3,915.1 ns 226.27 ns 211.65 ns 12.60 11508 B 4.66
baseline* 10 1,031.5 ns 3.60 ns 3.20 ns 1.36 2976 B 1.00
Mockolate 10 756.4 ns 14.92 ns 13.96 ns 1.00 2976 B 1.00
Imposter 10 260.3 ns 6.15 ns 5.75 ns 0.34 952 B 0.32
TUnitMocks 10 1,147.5 ns 30.25 ns 28.30 ns 1.52 4048 B 1.36
Moq 10 8,978.0 ns 209.94 ns 186.11 ns 11.87 18720 B 6.29
NSubstitute 10 8,503.6 ns 149.24 ns 132.30 ns 11.25 21585 B 7.25
FakeItEasy 10 9,401.1 ns 177.50 ns 148.22 ns 12.43 31546 B 10.60
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 26.04.1 LTS (Resolute Raccoon)
AMD EPYC 9V45 4.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.14 (10.0.14, 10.0.1426.52326), X64 RyuJIT x86-64-v4

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

Callback Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 187.4 ns 1.90 ns 1.68 ns 0.93 1608 B 1.00
Mockolate 200.7 ns 6.17 ns 5.47 ns 1.00 1608 B 1.00
Imposter 151.2 ns 8.29 ns 7.76 ns 0.75 744 B 0.46
TUnitMocks 331.5 ns 6.07 ns 5.07 ns 1.65 2064 B 1.28
Moq 28,690.6 ns 373.52 ns 349.39 ns 143.05 9095 B 5.66
NSubstitute 2,563.5 ns 92.76 ns 77.46 ns 12.78 7896 B 4.91
FakeItEasy 2,749.8 ns 59.32 ns 52.59 ns 13.71 6970 B 4.33
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 26.04.1 LTS (Resolute Raccoon)
AMD EPYC 7763 2.88GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.14 (10.0.14, 10.0.1426.52326), X64 RyuJIT x86-64-v3

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

Indexer N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 1,122.4 ns 10.14 ns 7.91 ns 1.13 3.81 KB 1.00
Mockolate 1 994.8 ns 56.13 ns 52.51 ns 1.00 3.81 KB 1.00
Imposter 1 368.7 ns 5.63 ns 4.99 ns 0.37 1.19 KB 0.31
Moq 1 219,017.5 ns 1,533.94 ns 1,359.80 ns 220.73 20.37 KB 5.34
NSubstitute 1 10,754.3 ns 148.12 ns 138.55 ns 10.84 12.78 KB 3.35
FakeItEasy 1 11,491.8 ns 142.80 ns 133.58 ns 11.58 13.63 KB 3.57
baseline* 10 2,937.2 ns 4.70 ns 4.39 ns 1.17 4.87 KB 1.00
Mockolate 10 2,504.2 ns 44.01 ns 41.17 ns 1.00 4.87 KB 1.00
Imposter 10 902.5 ns 12.02 ns 10.04 ns 0.36 2.24 KB 0.46
Moq 10 230,029.0 ns 2,034.99 ns 1,803.97 ns 91.88 29.89 KB 6.14
NSubstitute 10 24,922.3 ns 214.22 ns 189.90 ns 9.95 25.58 KB 5.26
FakeItEasy 10 24,566.8 ns 307.67 ns 287.79 ns 9.81 32.97 KB 6.77

baseline* rows show the corresponding Mockolate benchmark from the most recent successful main branch build with results, for regression comparison.

@vbreuss
vbreuss merged commit e2bdee0 into main Oct 30, 2026
21 checks passed
@vbreuss
vbreuss deleted the docs/restructure-user-docs branch October 30, 2026 19:29
github-actions Bot added a commit that referenced this pull request Oct 30, 2026
github-actions Bot added a commit that referenced this pull request Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant