The happy state of property-based testing in C#
published on 2024/08/28
Most property-based testing libraries are a port of QuickCheck and share its tree-based shrinking. This is where a lazy tree of possible simpler samples is composed and tested. CsCheck differs in that generation and shrinking are both based on random samples. Each generated sample comes with a Size proxy which can be used to compare for shrinking. Only samples with a smaller Size are tested during shrinking.
https://anthonylloyd.github.io/blog/2024/07/07/cscheck-happy-state