rust_github_action_test_b76u22ivt4z3/
lib.rs1use std::fs::File;
2use std::io::{self, Write};
3mod image;
4
5pub fn add(left: usize, right: usize) -> usize {
6 left + right
7}
8
9pub fn mul(left: usize, right: usize) -> usize {
10 left * right
11}
12
13pub fn sub(left: usize, right: usize) -> usize {
14 left - right
15}
16
17pub fn div(left: usize, right: usize) -> usize {
18 left / right
19}
20
21pub fn modu(left: usize, right: usize) -> usize {
22 left % right
23}
24
25pub fn save_add_image(file_path: &str) -> io::Result<()> {
26 let image = image::ADD_IMAGE;
27 let mut file = File::create(file_path)?;
28 file.write_all(image)?;
29 Ok(())
30}
31
32#[cfg(test)]
33mod tests {
34 use super::*;
35
36 #[test]
37 fn test_add() {
38 let result = add(2, 2);
39 assert_eq!(result, 4);
40 }
41
42 #[test]
43 fn test_mul() {
44 let result = mul(2, 2);
45 assert_eq!(result, 4);
46 }
47
48 #[test]
49 fn test_sub() {
50 let result = sub(2, 2);
51 assert_eq!(result, 0);
52 }
53
54 #[test]
55 fn test_div() {
56 let result = div(2, 2);
57 assert_eq!(result, 1);
58 }
59
60 #[test]
61 fn test_modu() {
62 let result = modu(2, 2);
63 assert_eq!(result, 0);
64 }
65
66 #[test]
67 fn test_save_add_image() {
68 let result = save_add_image("add.png");
69 assert!(result.is_ok());
70 }
71}