Commit Graph

6 Commits (10d8357876fe1f6236b88ac652855acbfe126f5b)

Author SHA1 Message Date
lionel-rowe 836134202e
feat(options2): better tests for layered_option
The existing test can be solved with the following:

```rs
        while let Some(integer) = optional_integers.pop() {
            assert_eq!(integer.unwrap(), range);
```

Similarly with `expect(...)`, `unwrap_or(0)`, `unwrap_or_default()`, etc. However, none of these solutions use the learning point of stacking `Option<T>`s.

The updated test can _only_ be solved by stacking `Option<T>`s:

```rs
        while let Some(Some(integer)) = optional_integers.pop() {
            assert_eq!(integer, cursor);
```

With the updated test, using `unwrap` or `expect` will panic when it hits the `None` value, and using `unwrap_or` or `unwrap_or_default` will cause the final `assert_eq!(cursor, 0)`  to panic.
1 year ago
Grzegorz Żur da6178bdc6
Removed unnecessary use statement 2 years ago
magnusrodseth 99ea2cbba7 chore: make options2 not compile deliberately 2 years ago
magnusrodseth 52a29aa84b test: Convert main function to working tests 2 years ago
mokou b71feed824 feat(options): add hint comments 2 years ago
mokou b644558c19 fix: rename option to options 2 years ago