Skip to content

Latest commit

 

History

History
23 lines (17 loc) · 623 Bytes

README.md

File metadata and controls

23 lines (17 loc) · 623 Bytes

Prop-test

Utility for the proptest crate, which provides a macro that is formattable with rustfmt.

Unlike the original proptest!() macro, this macro isn't expected to "wrap" test functions but is instead intended to be placed as expressions within them.

Example

fn reverse<T: Clone>(xs: &[T]) -> Vec<T> {
    xs.iter().rev().cloned().collect()
}

use prop_test::prelude::*;

// This expression would be inside of a `#[test]` function
prop_test!(&prop::collection::vec(any::<i32>(), 0..100), |xs| {
    prop_assert_eq!(&xs, &reverse(&reverse(&xs)));
    Ok(())
});