rust_stringz/
count_occurrences.rs1pub 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}