Skip to content

docs: re-theme scenarios examples to chocolate dispenser#772

Merged
vbreuss merged 2 commits into
mainfrom
docs/scenarios-chocolate-theme
May 10, 2026
Merged

docs: re-theme scenarios examples to chocolate dispenser#772
vbreuss merged 2 commits into
mainfrom
docs/scenarios-chocolate-theme

Conversation

@vbreuss
Copy link
Copy Markdown
Member

@vbreuss vbreuss commented May 10, 2026

Switch the connection/Ping/Send walkthrough to an "empty" / "loaded" chocolate dispenser flow with Refill and Dispense, matching the chocolate theme used elsewhere in the docs.

Switch the connection/Ping/Send walkthrough to an "empty" / "loaded"
chocolate dispenser flow with Refill and Dispense, matching the
chocolate theme used elsewhere in the docs.
@vbreuss vbreuss self-assigned this May 10, 2026
Copilot AI review requested due to automatic review settings May 10, 2026 12:27
@vbreuss vbreuss added the documentation Improvements or additions to documentation label May 10, 2026
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 updates the Scenarios documentation to use the repository’s established chocolate-dispenser example theme, replacing the prior connection/Ping/Send walkthrough so the state transitions read consistently with other docs.

Changes:

  • Replaced the introductory scenario description from a connection lifecycle to an “empty/loaded” chocolate dispenser lifecycle.
  • Updated InScenario(...) examples to use Dispense(...)/Refill(...) and new scenario names (empty, loaded).
  • Updated the .TransitionTo(...) walkthrough to demonstrate scenario transitions using the dispenser flow.

Comment thread Docs/pages/advanced-features/06-scenarios.md Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 10, 2026

Test Results

    24 files  ±0      24 suites  ±0   8m 45s ⏱️ +30s
 4 086 tests ±0   4 084 ✅ ±0  2 💤 ±0  0 ❌ ±0 
26 388 runs  ±0  26 384 ✅ ±0  4 💤 ±0  0 ❌ ±0 

Results for commit f06126e. ± Comparison against base commit ac5d004.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 10, 2026

🚀 Benchmark Results

Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.203
[Host] : .NET 10.0.7 (10.0.7, 10.0.726.21808), X64 RyuJIT x86-64-v3

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

CreateMock Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 50.53 ns 0.292 ns 0.273 ns 0.77 440 B 1.00
Mockolate 65.95 ns 0.930 ns 0.870 ns 1.00 440 B 1.00
Imposter 276.16 ns 1.782 ns 1.488 ns 4.19 2248 B 5.11
TUnitMocks 42.25 ns 0.488 ns 0.457 ns 0.64 224 B 0.51
Moq 1,349.66 ns 13.060 ns 12.217 ns 20.47 2096 B 4.76
NSubstitute 1,918.08 ns 26.593 ns 24.875 ns 29.09 5048 B 11.47
FakeItEasy 1,865.95 ns 38.620 ns 36.125 ns 28.30 2763 B 6.28
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.203
[Host] : .NET 10.0.7 (10.0.7, 10.0.726.21808), X64 RyuJIT x86-64-v3

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

Event Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 298.7 ns 3.20 ns 2.67 ns 1.01 1.78 KB 1.00
Mockolate 295.6 ns 2.75 ns 2.44 ns 1.00 1.78 KB 1.00
Imposter 1,362.8 ns 24.70 ns 20.63 ns 4.61 8.8 KB 4.94
TUnitMocks 187.4 ns 2.96 ns 2.77 ns 0.63 1.37 KB 0.77
Moq 16,192.1 ns 97.48 ns 91.18 ns 54.78 12.51 KB 7.02
NSubstitute 5,847.6 ns 80.53 ns 75.32 ns 19.78 9.05 KB 5.08
FakeItEasy 218,109.9 ns 1,504.24 ns 1,333.47 ns 737.89 15.26 KB 8.57
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.203
[Host] : .NET 10.0.7 (10.0.7, 10.0.726.21808), 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,050.9 ns 32.12 ns 30.05 ns 1.01 3.81 KB 1.00
Mockolate 1 1.043 μs 0.0132 μs 0.0117 μs 1.00 3.81 KB 1.00
Imposter 1 1.005 μs 0.0131 μs 0.0123 μs 0.96 5.16 KB 1.35
Moq 1 220.642 μs 0.7916 μs 0.7018 μs 211.53 20.32 KB 5.33
NSubstitute 1 9.738 μs 0.0205 μs 0.0182 μs 9.34 12.78 KB 3.35
FakeItEasy 1 12.323 μs 0.0340 μs 0.0318 μs 11.81 13.63 KB 3.57
baseline* 10 2,573.9 ns 26.64 ns 24.92 ns 1.00 4.87 KB 1.00
Mockolate 10 2.584 μs 0.0199 μs 0.0186 μs 1.00 4.87 KB 1.00
Imposter 10 2.377 μs 0.0242 μs 0.0226 μs 0.92 7.97 KB 1.64
Moq 10 235.496 μs 1.4744 μs 1.3070 μs 91.15 28.72 KB 5.90
NSubstitute 10 23.785 μs 0.0452 μs 0.0401 μs 9.21 25.58 KB 5.26
FakeItEasy 10 25.851 μs 0.0664 μs 0.0621 μs 10.01 32.97 KB 6.77
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.203
[Host] : .NET 10.0.7 (10.0.7, 10.0.726.21808), X64 RyuJIT x86-64-v4

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

Method N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 281.3 ns 4.85 ns 4.54 ns 0.98 2.04 KB 1.00
Mockolate 1 287.7 ns 2.15 ns 2.01 ns 1.00 2.04 KB 1.00
Imposter 1 431.1 ns 6.75 ns 6.31 ns 1.50 4.04 KB 1.98
TUnitMocks 1 575.7 ns 8.39 ns 7.85 ns 2.00 2.9 KB 1.42
Moq 1 107,836.9 ns 955.89 ns 847.37 ns 374.83 14.81 KB 7.26
NSubstitute 1 4,399.3 ns 37.55 ns 35.12 ns 15.29 9.12 KB 4.47
FakeItEasy 1 4,512.8 ns 50.30 ns 44.59 ns 15.69 8.05 KB 3.95
baseline* 10 493.7 ns 14.27 ns 13.35 ns 0.96 2.25 KB 1.00
Mockolate 10 511.7 ns 4.07 ns 3.81 ns 1.00 2.25 KB 1.00
Imposter 10 880.2 ns 8.71 ns 8.15 ns 1.72 5.52 KB 2.45
TUnitMocks 10 1,447.8 ns 12.41 ns 11.00 ns 2.83 4.49 KB 2.00
Moq 10 112,028.4 ns 978.56 ns 915.35 ns 218.94 18.7 KB 8.31
NSubstitute 10 6,488.2 ns 53.59 ns 50.13 ns 12.68 12.07 KB 5.36
FakeItEasy 10 6,966.5 ns 54.78 ns 48.56 ns 13.61 15.42 KB 6.85
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.203
[Host] : .NET 10.0.7 (10.0.7, 10.0.726.21808), X64 RyuJIT x86-64-v3

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

Property N Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 1 503.5 ns 11.17 ns 10.45 ns 0.97 2.46 KB 1.00
Mockolate 1 520.8 ns 5.56 ns 4.65 ns 1.00 2.46 KB 1.00
Imposter 1 434.0 ns 4.39 ns 3.67 ns 0.83 3.13 KB 1.27
TUnitMocks 1 732.1 ns 16.51 ns 15.45 ns 1.41 2.51 KB 1.02
Moq 1 10,246.6 ns 107.72 ns 95.49 ns 19.68 10.39 KB 4.22
NSubstitute 1 6,614.5 ns 46.21 ns 40.97 ns 12.70 11.45 KB 4.65
FakeItEasy 1 7,030.4 ns 58.15 ns 54.40 ns 13.50 11.24 KB 4.57
baseline* 10 1,034.7 ns 10.09 ns 9.44 ns 1.00 2.95 KB 1.00
Mockolate 10 1,033.9 ns 11.53 ns 10.22 ns 1.00 2.95 KB 1.00
Imposter 10 1,074.0 ns 12.21 ns 11.42 ns 1.04 4.67 KB 1.58
TUnitMocks 10 2,229.2 ns 22.92 ns 20.31 ns 2.16 4.66 KB 1.58
Moq 10 16,978.3 ns 66.16 ns 58.65 ns 16.42 18.28 KB 6.19
NSubstitute 10 15,657.2 ns 222.40 ns 208.03 ns 15.15 21.08 KB 7.14
FakeItEasy 10 17,207.5 ns 317.27 ns 296.78 ns 16.65 30.81 KB 10.43
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.203
[Host] : .NET 10.0.7 (10.0.7, 10.0.726.21808), X64 RyuJIT x86-64-v4

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

Callback Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 377.3 ns 5.34 ns 4.46 ns 1.48 1.68 KB 1.00
Mockolate 255.3 ns 3.57 ns 3.34 ns 1.00 1.68 KB 1.00
Imposter 337.3 ns 10.79 ns 10.09 ns 1.32 2.38 KB 1.42
TUnitMocks 542.3 ns 16.16 ns 15.11 ns 2.12 2.63 KB 1.56
Moq 57,008.9 ns 451.32 ns 422.16 ns 223.30 8.88 KB 5.29
NSubstitute 3,335.7 ns 80.42 ns 75.23 ns 13.07 7.74 KB 4.61
FakeItEasy 3,727.7 ns 80.76 ns 75.55 ns 14.60 6.81 KB 4.05

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

In the switching example, Dispense in the "loaded" scenario now returns
true (matching the earlier setup snippet) while still transitioning to
"empty", so the documented state and behavior stay consistent.
@vbreuss vbreuss enabled auto-merge (squash) May 10, 2026 13:06
@sonarqubecloud
Copy link
Copy Markdown

@vbreuss vbreuss merged commit 0bb1ef9 into main May 10, 2026
17 checks passed
@vbreuss vbreuss deleted the docs/scenarios-chocolate-theme branch May 10, 2026 13:13
github-actions Bot added a commit that referenced this pull request May 10, 2026
github-actions Bot added a commit that referenced this pull request May 10, 2026
@github-actions
Copy link
Copy Markdown

This is addressed in release v3.2.0.

@github-actions github-actions Bot added the state: released The issue is released label May 11, 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 state: released The issue is released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants