Generates **property-based tests** that use randomized input generation to validate invariants and contracts (rather than hand-picked examples). Triggers when the conversation involves: PBT frameworks (Hypothesis library for Python, fast-check for TypeScript, proptest for Rust, rapid for Go, RapidCheck for C++); concepts like invariants, contracts, round-trip symmetry, encode/decode, serialize/deserialize, generative testing, or shrinking; or requests to find edge cases that example-based tests miss — e.g., "find edge cases automatically", "test all possible inputs", "verify this property holds". Does NOT trigger for: writing regular example-based unit tests, debugging, CI/CD setup, UI/component testing, or integration/E2E testing. Identifies up to 7 property patterns (round-trip, idempotence, invariance, metamorphic, inverse, ordering, no-crash), designs input generators, writes property tests, and extracts regression tests from failures.
91
90%
Does it follow best practices?
Impact
94%
1.11xAverage score across 5 eval scenarios
Passed
No known issues
Hypothesis dependency
62%
37%
Correct imports
100%
100%
Given decorators
100%
100%
Multiple properties
100%
100%
Full input space
100%
100%
Composed strategies
100%
100%
Generate act assert
100%
100%
Meaningful invariants
100%
100%
Avoids weak only
100%
100%
Shrinking noted
100%
100%
Regression extraction
100%
100%
fast-check setup
0%
100%
fc import
0%
100%
fc.assert property
0%
100%
Async property
0%
100%
Object arbitraries
0%
100%
Edge generation
70%
100%
At least properties
90%
100%
Different oracle
30%
60%
Precondition API
16%
50%
Run config
37%
87%
Regression note
30%
20%
Dependency note
100%
100%
Prelude import
100%
100%
proptest macro
100%
100%
prop assertions
100%
100%
Config strategy
100%
100%
Edge coverage
100%
90%
Round trip
100%
100%
Valid no panic
100%
100%
One per property
100%
100%
Configurable cases
100%
85%
Shrunk regression
100%
100%
rapid dependency
100%
100%
rapid import
100%
100%
rapid Check
100%
100%
Draw calls
100%
100%
Custom generator
100%
100%
Edge coverage
100%
83%
Multiple properties
100%
100%
Semantic invariants
100%
100%
Avoid copy oracle
100%
100%
Shrink awareness
100%
100%
Regression test
100%
100%
Install options
100%
100%
Headers included
100%
100%
GTest property
100%
100%
RC assertions
100%
90%
Packet generation
100%
100%
Edge values
100%
100%
Round trip
100%
100%
Additional properties
100%
100%
Preconditions
66%
83%
Run config
100%
100%
Regression workflow
100%
100%