1
2#[cfg(feature="add")]
3pub fn add(left: usize, right: usize) -> usize {
4 left + right
5}
6
7#[cfg(feature="subtract")]
8pub fn subtract(left: usize, right: usize) -> usize {
9 left - right
10}
11
12#[cfg(feature="multiply")]
13pub fn multiply(left: usize, right: usize) -> usize {
14 left * right
15}
16
17#[cfg(feature="divide")]
18pub fn divide(left: usize, right: usize) -> usize {
19 left / right
20}
21
22#[cfg(feature="discount")]
23pub fn discount(total: f64, discount: f64) -> f64 {
24 total - (total * (discount / 100.0))
25}
26
27#[cfg(test)]
28mod tests {
29 use super::*;
30
31 #[test]
32 fn test_add() {
33 let result = add(2, 2);
34 assert_eq!(result, 4);
35 }
36
37 #[test]
38 fn test_discount() {
39 let result = discount(100_000.0, 25.0);
40 assert_eq!(result, 75_000.0);
41 }
42}