1use crate::Result;
6
7pub struct CodeGenerator;
9
10impl CodeGenerator {
11 pub fn new() -> Self {
12 Self
13 }
14
15 pub fn generate(&self, file: &syn::File) -> Result<String> {
17 Ok(prettyplease::unparse(file))
19 }
20}
21
22impl Default for CodeGenerator {
23 fn default() -> Self {
24 Self::new()
25 }
26}
27
28#[cfg(test)]
29mod tests {
30 use super::*;
31
32 #[test]
33 fn test_codegen_empty_file() {
34 let gen = CodeGenerator::new();
35 let file = syn::File { shebang: None, attrs: vec![], items: vec![] };
36 let result = gen.generate(&file);
37 assert!(result.is_ok());
38 }
39
40 #[test]
41 fn test_codegen_default() {
42 let gen = CodeGenerator::default();
43 let file = syn::File { shebang: None, attrs: vec![], items: vec![] };
44 let result = gen.generate(&file);
45 assert!(result.is_ok());
46 }
47
48 #[test]
49 fn test_generate_returns_string() {
50 let gen = CodeGenerator::new();
51 let file = syn::File { shebang: None, attrs: vec![], items: vec![] };
52 let result = gen.generate(&file).unwrap();
53 assert!(result.is_empty() || !result.is_empty()); }
55}