Fix Concept section: use IsFullyPaid() example, not custom matcher

The Concept demo should show a different pattern (encapsulate behavior)
than the exercise (custom matcher) so the exercise stays fresh.
This commit is contained in:
2026-09-02 22:30:03 +01:00
parent cfde583649
commit 5965ed8998
+4 -5
View File
@@ -44,10 +44,10 @@ The agent might:
### The "Show" Approach (works better)
Refactor one test yourself:
Refactor one test yourself — encapsulate the attribute check behind a behavior method:
```csharp
// Before — telling attributes
// Before — checking an attribute
[Test]
public void CompletedOrder_TotalIsCorrect()
{
@@ -56,7 +56,6 @@ public void CompletedOrder_TotalIsCorrect()
order.Complete();
Assert.That(order.Total, Is.EqualTo(100m));
Assert.That(order.Status, Is.EqualTo("completed"));
}
// After — encapsulating behavior
@@ -67,13 +66,13 @@ public void CompletedOrder_TotalIsCorrect()
order.AddLine(100m, 1);
order.Complete();
Assert.That(order, Has.OrderTotalCorrect(100m));
Assert.That(order.IsFullyPaid(100m), Is.True);
}
```
Then ask the agent:
> The first test was refactored to use `Has.OrderTotalCorrect()`. Apply the same pattern to the remaining tests.
> The first test was refactored to use `order.IsFullyPaid(expected)` instead of asserting on `order.Total`. Apply the same pattern to the remaining tests.
The agent sees the concrete pattern and replicates it. No description needed.