mirror of
https://github.com/rust-lang/rustlings.git
synced 2024-12-27 00:00:03 +03:00
Merge pull request #1487 from lionel-rowe/patch-1
feat(options2): better test for layered_option
This commit is contained in:
commit
81cd97902a
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue