math_kit/
lib.rs

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}