Skip to content

Property based tests - #116

Draft
hahn-kev wants to merge 4 commits into
mainfrom
claude/crdt-property-based-tests-650edd
Draft

Property based tests#116
hahn-kev wants to merge 4 commits into
mainfrom
claude/crdt-property-based-tests-650edd

Conversation

@hahn-kev

@hahn-kev hahn-kev commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

generate random sequences of commits and insert them in random orders and compare with a different order to ensure that the outcomes are the same.

@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

hahn-kev and others added 3 commits September 8, 2026 17:01
On failure, each property now prints (via CsCheck print:) the full C#
source of a self-contained [Fact] with the shrunk counterexample
hard-coded, so a failing case can be pasted into the test project and
debugged without CsCheck or a seed. One body template per property type
(ReproTemplate); each ChangeSpec renders itself via ToCode().

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CsCheck.SampleErrorMessage hard-truncates the printed value at 5000
chars, clipping the emitted reproduction method for larger shrunk
schedules in CI. Route the full ready-to-run method to ITestOutputHelper
(shown untruncated in CI logs) and keep only a compact schedule summary
plus a pointer in the capped exception message. The output helper is
captured before sampling so it is valid on whatever thread CsCheck's
print callback runs on.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The message returned from print embedded the full schedule summary, which
itself exceeded CsCheck's 5000-char cap for large schedules and showed a
trailing " ...". Return only a short pointer to the test output (which
holds the full, untruncated reproduction); the assertion diff still
follows in the message.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant