summaryrefslogtreecommitdiff
path: root/exercises/iterators
diff options
context:
space:
mode:
authorliv <mokou@fastmail.com>2023-05-17 16:14:29 +0200
committerGitHub <noreply@github.com>2023-05-17 16:14:29 +0200
commit656140d9e64298a4f9f9e2c0944bfa1435a84c17 (patch)
treea49318abf4c8318b3fbfd414ab7739dcbeeb7dd0 /exercises/iterators
parent9508e9791495f6e6f4c64b330a6cbba37241fafc (diff)
parenta6f99645c6cb1b5493e1fbf16576ab5c0f1dd88c (diff)
Merge pull request #1478 from Ben2917/improved_tests_for_iterators5
fix: Added some extra tests to validate iterators5 solution
Diffstat (limited to 'exercises/iterators')
-rw-r--r--exercises/iterators/iterators5.rs49
1 files changed, 40 insertions, 9 deletions
diff --git a/exercises/iterators/iterators5.rs b/exercises/iterators/iterators5.rs
index 8709795..dcf0742 100644
--- a/exercises/iterators/iterators5.rs
+++ b/exercises/iterators/iterators5.rs
@@ -65,12 +65,27 @@ mod tests {
}
#[test]
- fn count_equals_for() {
+ fn count_some() {
let map = get_map();
- assert_eq!(
- count_for(&map, Progress::Complete),
- count_iterator(&map, Progress::Complete)
- );
+ assert_eq!(1, count_iterator(&map, Progress::Some));
+ }
+
+ #[test]
+ fn count_none() {
+ let map = get_map();
+ assert_eq!(2, count_iterator(&map, Progress::None));
+ }
+
+ #[test]
+ fn count_complete_equals_for() {
+ let map = get_map();
+ let progressStates = vec![Progress::Complete, Progress::Some, Progress::None];
+ for progressState in progressStates {
+ assert_eq!(
+ count_for(&map, progressState),
+ count_iterator(&map, progressState)
+ );
+ }
}
#[test]
@@ -83,12 +98,28 @@ mod tests {
}
#[test]
+ fn count_collection_some() {
+ let collection = get_vec_map();
+ assert_eq!(1, count_collection_iterator(&collection, Progress::Some));
+ }
+
+ #[test]
+ fn count_collection_none() {
+ let collection = get_vec_map();
+ assert_eq!(4, count_collection_iterator(&collection, Progress::None));
+ }
+
+ #[test]
fn count_collection_equals_for() {
+ let progressStates = vec![Progress::Complete, Progress::Some, Progress::None];
let collection = get_vec_map();
- assert_eq!(
- count_collection_for(&collection, Progress::Complete),
- count_collection_iterator(&collection, Progress::Complete)
- );
+
+ for progressState in progressStates {
+ assert_eq!(
+ count_collection_for(&collection, progressState),
+ count_collection_iterator(&collection, progressState)
+ );
+ }
}
fn get_map() -> HashMap<String, Progress> {