1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use std::{ops::Deref, slice::Iter};

use crate::sample::Sample;

impl<'a, E: Clone> Sample<'a, Iter<'a, E>, &'a E, Vec<E>> for Vec<E> where
    &'a E: Deref
{
}

#[cfg(test)]
mod tests {
    use crate::sample::Sample;

    #[test]
    fn test_sample_vec() {
        let v = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
        let sample_size = 3;
        let sample = v.sample_subset_without_replacement(sample_size).unwrap();
        println!("{:?}", sample);
        assert_eq!(sample.len(), sample_size);
        sample.iter().for_each(|x| assert!(v.contains(x)));
    }
}