kata_machine/languages/rust/
generation.rs1pub fn generate_rust_calculator_files() -> (String, String) {
2 let program_file_content = r#"mod test;
3
4pub fn add_numbers(num1: &str, num2: &str) -> i32 {
5 // Implement the addition logic here
6 // ...
7}"#
8 .trim()
9 .to_string();
10
11 let test_file_content = r#"#[cfg(test)]
12mod tests {
13 use crate::add_numbers;
14
15 #[test]
16 fn test_add_numbers() {
17 assert_eq!(add_numbers("2", "3"), 5);
18 assert_eq!(add_numbers("-5", "10"), 5);
19 assert_eq!(add_numbers("0", "0"), 0);
20 // Add more test cases here
21 }
22}"#
23 .trim()
24 .to_string();
25
26 (program_file_content, test_file_content)
27}
28
29pub fn generate_rust_dsa_files() -> (String, String) {
30 let program_file_content = r#"
31 // TODO
32 "#
33 .to_string();
34
35 let test_file_content = r#"
36 // TODO
37 "#
38 .to_string();
39
40 (program_file_content, test_file_content)
41}
42
43pub fn generate_rust_cargo_file(day: &str) -> String {
44 format!(
45 r#"[package]
46name = "kata_machine_rust_calculator_{}"
47version = "0.1.0"
48edition = "2021"
49
50[dependencies]
51
52[lib]
53path = "lib.rs"
54"#,
55 day,
56 )
57}