2020-05-19 16:47:44 +00:00
|
|
|
// quiz1.rs
|
2023-05-29 17:39:08 +00:00
|
|
|
//
|
2020-05-19 16:47:44 +00:00
|
|
|
// This is a quiz for the following sections:
|
2019-01-23 19:48:01 +00:00
|
|
|
// - Variables
|
|
|
|
// - Functions
|
2021-12-29 06:55:37 +00:00
|
|
|
// - If
|
2023-05-29 17:39:08 +00:00
|
|
|
//
|
2022-09-06 10:09:43 +00:00
|
|
|
// Mary is buying apples. The price of an apple is calculated as follows:
|
|
|
|
// - An apple costs 2 rustbucks.
|
|
|
|
// - If Mary buys more than 40 apples, each apple only costs 1 rustbuck!
|
2023-05-29 17:39:08 +00:00
|
|
|
// Write a function that calculates the price of an order of apples given the
|
2023-07-21 12:42:19 +00:00
|
|
|
// quantity bought.
|
2023-05-29 17:39:08 +00:00
|
|
|
//
|
|
|
|
// No hints this time ;)
|
2019-01-09 20:47:50 +00:00
|
|
|
|
2019-02-15 11:06:05 +00:00
|
|
|
// Put your function here!
|
2024-01-20 04:25:25 +00:00
|
|
|
fn calculate_price_of_apples(num_apples: u32) -> u32 {
|
|
|
|
const DISCOUNT_THRESHOLD_COUNT: u32 = 40;
|
|
|
|
|
|
|
|
if (num_apples > DISCOUNT_THRESHOLD_COUNT) { num_apples } else { num_apples * 2 }
|
|
|
|
}
|
2019-02-15 11:06:05 +00:00
|
|
|
|
|
|
|
// Don't modify this function!
|
|
|
|
#[test]
|
|
|
|
fn verify_test() {
|
2022-07-15 12:18:31 +00:00
|
|
|
let price1 = calculate_price_of_apples(35);
|
|
|
|
let price2 = calculate_price_of_apples(40);
|
2022-09-06 10:10:53 +00:00
|
|
|
let price3 = calculate_price_of_apples(41);
|
|
|
|
let price4 = calculate_price_of_apples(65);
|
2019-01-23 19:48:01 +00:00
|
|
|
|
2019-10-29 19:53:41 +00:00
|
|
|
assert_eq!(70, price1);
|
2021-04-25 15:49:46 +00:00
|
|
|
assert_eq!(80, price2);
|
2022-09-06 10:10:53 +00:00
|
|
|
assert_eq!(41, price3);
|
|
|
|
assert_eq!(65, price4);
|
2019-01-09 20:47:50 +00:00
|
|
|
}
|