reverse_single/
reverse_single.rs

1extern crate quickcheck;
2
3use quickcheck::{TestResult, quickcheck};
4
5fn reverse<T: Clone>(xs: &[T]) -> Vec<T> {
6    let mut rev = vec!();
7    for x in xs {
8        rev.insert(0, x.clone())
9    }
10    rev
11}
12
13fn main() {
14    fn prop(xs: Vec<isize>) -> TestResult {
15        if xs.len() != 1 {
16            return TestResult::discard()
17        }
18        TestResult::from_bool(xs == reverse(&*xs))
19    }
20    quickcheck(prop as fn(Vec<isize>) -> TestResult);
21}