Merge pull request #1487 from lionel-rowe/patch-1

feat(options2): better test for layered_option
This commit is contained in:
liv 2023-05-17 15:56:55 +02:00 committed by GitHub
commit 81cd97902a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 6 deletions

View File

@ -18,17 +18,22 @@ mod tests {
#[test] #[test]
fn layered_option() { fn layered_option() {
let mut range = 10; let range = 10;
let mut optional_integers: Vec<Option<i8>> = Vec::new(); let mut optional_integers: Vec<Option<i8>> = vec![None];
for i in 0..(range + 1) {
for i in 1..(range + 1) {
optional_integers.push(Some(i)); 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> // 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() { integer = optional_integers.pop() {
assert_eq!(integer, range); assert_eq!(integer, cursor);
range -= 1; cursor -= 1;
} }
assert_eq!(cursor, 0);
} }
} }