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}