Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,8 +214,8 @@ The project uses GitHub Actions with several workflows:

## Documentation

- Keep README.md up to date with API changes
- Update markdown files under `Docs/` to match README.md content - they are published to https://awexpect.com/docs/mockolate/index
- README is the GitHub/NuGet landing page (pitch + quick start + links to docs); full reference docs live under `Docs/pages/` and are published to https://docs.testably.org/Mockolate/
- Keep `Docs/pages/` up to date with API changes; the README's link index should match the published structure
- Document public APIs with XML comments
- Examples should be in Mockolate.ExampleTests
- Follow existing documentation style
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,5 +114,5 @@ All PRs must pass:
- New public API must have XML doc comments
- All assemblies are **strong-named** (`Directory.Build.props`)
- Package versions managed centrally in `Directory.Packages.props`
- Documentation lives in `Docs/pages/` and mirrors the README; published at https://awexpect.com/docs/mockolate/index
- Documentation lives in `Docs/pages/`; the README links to it for reference content. Published at https://docs.testably.org/Mockolate/
- Examples go in `Mockolate.ExampleTests`, not inline in test helper files
4 changes: 2 additions & 2 deletions Docs/pages/setup/04-parameter-matching.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ int result = sut.Process("HELLO");

Parameter matchers are covariant in their type argument: when a method declares a parameter of a base type, you can
narrow the match by supplying a matcher for a derived type. Only calls whose actual argument is an instance of that
derived type (or a further-derived type) will match calls passing other runtime types fall through to other setups.
derived type (or a further-derived type) match the setup; calls passing other runtime types fall through.

```csharp
public abstract class Chocolate { }
Expand All @@ -144,7 +144,7 @@ sut.Mock.Setup.Add(It.IsAny<DarkChocolate>()).Returns(true);
bool dark = sut.Add(new DarkChocolate()); // true, matched the DarkChocolate setup
bool milk = sut.Add(new MilkChocolate()); // false, no setup matched -> default

// Verifications are covariant too only dark-chocolate additions are counted.
// Verifications are covariant too: only dark-chocolate additions are counted.
sut.Mock.Verify.Add(It.IsAny<DarkChocolate>()).Once();
```

Expand Down
Loading
Loading