Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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