Move History

Fork Selected
  • Code
    fn disemvowel(string: &str) -> String {
        string.replace(['A','E','I','O','U','a','e','i','o','u'], "")
    }
    Test Cases
    #[cfg(test)]
    mod tests {
        use super::disemvowel;
        use rand::Rng;
    
        fn do_test(string: &str, expected: &str) {
            assert_eq!(disemvowel(string), expected);
        }
    
    #[test]
    fn test() {
        do_test("HI GUYS", "H GYS");
        do_test("AEIOU", "");
        do_test("Shrek is an orge", "Shrk s n rg");
    }
    
    #[test]
    fn random_tests() {
        for _ in 0..100 {
            let string = (0..rand::thread_rng().gen_range(0..20))
                .map(|_| rand::Rng::sample(&mut rand::thread_rng(), rand::distributions::Alphanumeric) as char)
                .collect::<String>();
            let expected = string.chars().filter(|&c| !"AEIOUaeiou".contains(c)).collect::<String>();
            do_test(&string, &expected);
        }
        }    
    }
  • Code
    • fn disemvowel(string: &str) -> String {
    • string.chars().filter(|&c| !"AEIOUaeiou".contains(c)).collect()
    • string.replace(['A','E','I','O','U','a','e','i','o','u'], "")
    • }