rust_github_action_test_b76u22ivt4z3/
lib.rs

1use 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}