summaryrefslogtreecommitdiff
path: root/exercises
diff options
context:
space:
mode:
authormo8it <mo8it@proton.me>2024-06-26 12:59:10 +0200
committermo8it <mo8it@proton.me>2024-06-26 12:59:10 +0200
commitc31e15c4cf5085adcf544a33ac256364fc2bcfbf (patch)
treec1ae0bc11caa144d4b2db011b5d123488b2765f8 /exercises
parent1694682aa4ee848033169449a3f64d2e163f5638 (diff)
options1 solution
Diffstat (limited to 'exercises')
-rw-r--r--exercises/12_options/options1.rs30
1 files changed, 14 insertions, 16 deletions
diff --git a/exercises/12_options/options1.rs b/exercises/12_options/options1.rs
index b7cf7b0..5009f8b 100644
--- a/exercises/12_options/options1.rs
+++ b/exercises/12_options/options1.rs
@@ -1,12 +1,9 @@
// This function returns how much icecream there is left in the fridge.
-// If it's before 10PM, there's 5 scoops left. At 10PM, someone eats it
-// all, so there'll be no more left :(
-fn maybe_icecream(time_of_day: u16) -> Option<u16> {
- // We use the 24-hour system here, so 10PM is a value of 22 and 12AM is a
- // value of 0. The Option output should gracefully handle cases where
- // time_of_day > 23.
- // TODO: Complete the function body - remember to return an Option!
- ???
+// If it's before 22:00 (24-hour system), then 5 scoops are left. At 22:00,
+// someone eats it all, so no icecream is left (value 0). Return `None` if
+// `hour_of_day` is higher than 23.
+fn maybe_icecream(hour_of_day: u16) -> Option<u16> {
+ // TODO: Complete the function body.
}
fn main() {
@@ -18,20 +15,21 @@ mod tests {
use super::*;
#[test]
+ fn raw_value() {
+ // TODO: Fix this test. How do you get the value contained in the
+ // Option?
+ let icecreams = maybe_icecream(12);
+ assert_eq!(icecreams, 5);
+ }
+
+ #[test]
fn check_icecream() {
assert_eq!(maybe_icecream(0), Some(5));
assert_eq!(maybe_icecream(9), Some(5));
assert_eq!(maybe_icecream(18), Some(5));
assert_eq!(maybe_icecream(22), Some(0));
assert_eq!(maybe_icecream(23), Some(0));
+ assert_eq!(maybe_icecream(24), None);
assert_eq!(maybe_icecream(25), None);
}
-
- #[test]
- fn raw_value() {
- // TODO: Fix this test. How do you get at the value contained in the
- // Option?
- let icecreams = maybe_icecream(12);
- assert_eq!(icecreams, 5);
- }
}