You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 6dafe3f
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: AGENTS.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,7 @@ If I tell you to remember something, you do the same, update
10
10
11
11
## Rules to follow
12
12
always check all test are passed.
13
+
- Use TUnit with Microsoft.Testing.Platform for all .NET tests; do not add or retain xUnit packages, attributes, fixtures, configuration, or documentation.
13
14
- Prefer static interface members for result/command factories to centralize shared overloads and avoid duplication across result-like types.
14
15
- Use `DateTime.UtcNow` (never `DateTimeOffset`) for all timestamps; we assume every stored time is in UTC.
15
16
- For `MergeAll`/`CombineAll` scenarios with mixed failures, keep aggregated behavior and preserve original errors in `Problem.Extensions` (do not flatten everything into validation-only output).
@@ -41,15 +42,15 @@ The solution `ManagedCode.Communication.slnx` ties together the core library (`M
41
42
## Build, Test, and Development Commands
42
43
-`dotnet restore ManagedCode.Communication.slnx` – restore all project dependencies.
43
44
-`dotnet build -c Release ManagedCode.Communication.slnx` – compile every project with warnings treated as errors.
44
-
-`dotnet test ManagedCode.Communication.Tests/ManagedCode.Communication.Tests.csproj` – run the xUnit suite; produces `*.trx` logs under `ManagedCode.Communication.Tests`.
45
-
-`dotnet test ManagedCode.Communication.Tests/ManagedCode.Communication.Tests.csproj /p:CollectCoverage=true /p:CoverletOutputFormat=lcov` – refresh `coverage.info` via coverlet.
45
+
-`dotnet test --project ManagedCode.Communication.Tests/ManagedCode.Communication.Tests.csproj` – run the complete TUnit suite on Microsoft.Testing.Platform.
46
+
-`dotnet test --project ManagedCode.Communication.Tests/ManagedCode.Communication.Tests.csproj --coverage --coverage-output-format cobertura` – collect coverage through Microsoft.Testing.Platform.
46
47
-`dotnet run -c Release --project ManagedCode.Communication.Benchmark` – execute benchmark scenarios before performance-sensitive changes.
47
48
48
49
## Coding Style & Naming Conventions
49
50
Formatting is driven by the root `.editorconfig`: spaces only, 4-space indent for C#, CRLF endings for code, braces on new lines, and explicit types except when the type is obvious. The repo builds with C# 13, nullable reference types enabled, and analyzers elevated to errors—leave no compiler warnings behind. Stick to domain-centric names (e.g., `ResultExtensionsTests`) and prefer PascalCase for members and const fields per the configured naming rules.
50
51
51
52
## Testing Guidelines
52
-
All automated tests use xUnit with Shouldly and Microsoft test hosts; follow the existing spec style (`MethodUnderTest_WithScenario_ShouldOutcome`). New fixtures belong in the matching feature folder and should assert both success and failure branches for Result types. Maintain the default coverage settings supplied by `coverlet.collector`; update snapshots or helper helpers under `TestHelpers` (including shared Shouldly extensions) when shared setup changes.
53
+
All automated tests use TUnit with Shouldly on Microsoft.Testing.Platform; follow the existing spec style (`MethodUnderTest_WithScenario_ShouldOutcome`). New fixtures belong in the matching feature folder and should assert both success and failure branches for Result types. Use TUnit data sources and lifecycle hooks, collect coverage through `Microsoft.Testing.Extensions.CodeCoverage`, and update shared helpers under `TestHelpers` when shared setup changes.
53
54
54
55
## Commit & Pull Request Guidelines
55
56
Commits in this repository stay short, imperative, and often reference the related issue or PR number (e.g., `Add FailBadRequest methods (#30)`). Mirror that tone, limit each commit to a coherent change, and include updates to docs or benchmarks when behavior shifts. Pull requests should summarize intent, list breaking changes, attach relevant `dotnet test` outputs or coverage deltas, and link tracked issues. Screenshots or sample payloads are welcome for HTTP-facing work.
Copy file name to clipboardExpand all lines: ManagedCode.Communication.Tests/AspNetCore/Extensions/CommandIdempotencyServiceCollectionExtensionsTests.cs
0 commit comments