Skip to content

grimerssy/prop-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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(())
});