cs-utils 0.21.1

Common utilities.
Documentation
#[cfg(test)]
mod random_str {
    use cs_utils::random_str;
    use rstest::rstest;
    use std::ops::Range;

    #[rstest]
    #[case(32)]
    #[case(64)]
    fn generates_random_string(
        #[case] items_count: usize,
    ) {
        use std::collections::HashSet;

        let mut set = HashSet::new();

        for _i in 0..items_count {
            set.insert(random_str(4 * items_count));
        }

        assert_eq!(
            set.len(),
            items_count,
            "Must generate unique items.",
        );
    }

    #[rstest]
    #[case(1..64)]
    #[case(64..128)]
    #[case(128..256)]
    #[case(256..512)]
    fn generates_random_string_with_length(
        #[case] range: Range<usize>,
    ) {
        for len in range {
            let result = random_str(len);
            
            assert_eq!(
                result.len(),
                len,
                "Must generate string of given length.",
            );
        }
    }

    #[test]
    #[should_panic]
    fn panics_if_len_is_zero() {
        random_str(0);
    }
}