Trait quickcheck::Testable [] [src]

pub trait Testable: Send + 'static {
    fn result<G: Gen>(&self, &mut G) -> TestResult;

Testable describes types (e.g., a function) whose values can be tested.

Anything that can be tested must be capable of producing a TestResult given a random number generator. This is trivial for types like bool, which are just converted to either a passing or failing test result.

For functions, an implementation must generate random arguments and potentially shrink those arguments if they produce a failure.

It's unlikely that you'll have to implement this trait yourself. This comes with a caveat: currently, only functions with 4 parameters or fewer (both fn and || types) satisfy Testable. If you have functions to test with more than 4 parameters, please file a bug and I'll hopefully add it. (As of now, it would be very difficult to add your own implementation outside of quickcheck, since the functions that do shrinking are not public.)

Required Methods

fn result<G: Gen>(&self, &mut G) -> TestResult