diff options
| author | liv <mokou@fastmail.com> | 2023-05-17 15:56:55 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-17 15:56:55 +0200 |
| commit | 81cd97902ad4801abc30b3fe4f1b19257152de7b (patch) | |
| tree | 5a00c8cac12eaace24fdd43fe6425fdf984bb02a /exercises | |
| parent | ccf4a78f5d17c61dc7cf1f3da6c070377169de3e (diff) | |
| parent | 836134202ef505e03e8177565e512059488aded2 (diff) | |
Merge pull request #1487 from lionel-rowe/patch-1
feat(options2): better test for layered_option
Diffstat (limited to 'exercises')
| -rw-r--r-- | exercises/options/options2.rs | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/exercises/options/options2.rs b/exercises/options/options2.rs index 4e36443..337c426 100644 --- a/exercises/options/options2.rs +++ b/exercises/options/options2.rs @@ -18,17 +18,22 @@ mod tests { #[test] fn layered_option() { - let mut range = 10; - let mut optional_integers: Vec<Option<i8>> = Vec::new(); - for i in 0..(range + 1) { + let range = 10; + let mut optional_integers: Vec<Option<i8>> = vec![None]; + + for i in 1..(range + 1) { optional_integers.push(Some(i)); } + let mut cursor = range; + // TODO: make this a while let statement - remember that vector.pop also adds another layer of Option<T> - // You can stack `Option<T>`'s into while let and if let + // You can stack `Option<T>`s into while let and if let integer = optional_integers.pop() { - assert_eq!(integer, range); - range -= 1; + assert_eq!(integer, cursor); + cursor -= 1; } + + assert_eq!(cursor, 0); } } |
