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