2024-05-22 15:35:57 +01:00
|
|
|
// Mary is buying apples. The price of an apple is calculated as follows:
|
|
|
|
// - An apple costs 2 rustbucks.
|
2024-07-05 14:38:59 +01:00
|
|
|
// - However, if Mary buys more than 40 apples, the price of each apple in the
|
|
|
|
// entire order is reduced to only 1 rustbuck!
|
2024-05-22 15:35:57 +01:00
|
|
|
|
|
|
|
fn calculate_price_of_apples(n_apples: u64) -> u64 {
|
|
|
|
if n_apples > 40 {
|
|
|
|
n_apples
|
|
|
|
} else {
|
|
|
|
2 * n_apples
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
// You can optionally experiment here.
|
|
|
|
}
|
|
|
|
|
|
|
|
// Don't change the tests!
|
|
|
|
#[cfg(test)]
|
|
|
|
mod tests {
|
|
|
|
use super::*;
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn verify_test() {
|
|
|
|
assert_eq!(calculate_price_of_apples(35), 70);
|
|
|
|
assert_eq!(calculate_price_of_apples(40), 80);
|
|
|
|
assert_eq!(calculate_price_of_apples(41), 41);
|
|
|
|
assert_eq!(calculate_price_of_apples(65), 65);
|
|
|
|
}
|
|
|
|
}
|