1use num::Num;
2
3pub fn add<T: Num>(left: T, right: T) -> T {
4 left + right
5}
6
7pub fn multiply<T: Num>(left: T, right: T) -> T {
8 left * right
9}
10
11#[cfg(test)]
12mod tests {
13 use super::*;
14
15 #[test]
16 fn add_works() {
17 let result = add(2, 2);
18 assert_eq!(result, 4);
19
20 let result = add(2.0, 2.5);
21 assert_eq!(result, 4.5);
22 }
23
24 #[test]
25 fn multiply_works() {
26 let result = multiply(2, 3);
27 assert_eq!(result, 6);
28
29 let result = multiply(2.0, 2.5);
30 assert_eq!(result, 5.0);
31 }
32}