Property-based testing ======================