rust_stringz/
count_occurrences.rs

1pub fn count_occurrences(s: &str, substring: &str) -> usize {
2    let mut occurence = 0;
3    for word in s.split_whitespace() {
4        if word == substring {
5            occurence += 1;
6        }
7    }
8    occurence
9}
10
11mod tests {
12    use super::count_occurrences;
13
14    #[test]
15    fn test_two_occurences() {
16        let result: usize = count_occurrences("test test", "test");
17        assert_eq!(result, 2);
18    }
19
20    #[test]
21    fn test_zero_occurences() {
22        let result: usize = count_occurrences("test test", "testz");
23        assert_eq!(result, 0);
24    }
25
26    #[test]
27    fn test_single_occurence() {
28        let result: usize = count_occurrences("A random sentence", "random");
29        assert_eq!(result, 1);
30    }
31
32    #[test]
33    fn test_zero_occurences2() {
34        let result: usize = count_occurrences("Hello", "o");
35        assert_eq!(result, 0);
36    }
37}