init: archlens — architecture diagram generator
Some checks failed
CI / Check / Test (push) Failing after 1m24s

Hex arch + DDD, tree-sitter parsing, Mermaid/ASCII output.
Supports Rust + Python. 92 tests. CI, diff, --check for staleness detection.
This commit is contained in:
2026-06-16 16:13:04 +02:00
commit 35f27d00b0
106 changed files with 6744 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
use std::fs;
use archlens_domain::{RenderOutput, RenderedFile, ports::OutputWriter};
use archlens_file_writer::FileOutputWriter;
#[test]
fn writes_single_file_to_directory() {
let dir = tempfile::tempdir().unwrap();
let writer = FileOutputWriter::new(dir.path().to_path_buf());
let file = RenderedFile::new("arch.mmd", "classDiagram").unwrap();
let output = RenderOutput::single(file);
writer.write(&output).unwrap();
let content = fs::read_to_string(dir.path().join("arch.mmd")).unwrap();
assert_eq!(content, "classDiagram");
}
#[test]
fn writes_multiple_files_to_directory() {
let dir = tempfile::tempdir().unwrap();
let writer = FileOutputWriter::new(dir.path().to_path_buf());
let files = vec![
RenderedFile::new("overview.mmd", "graph TD").unwrap(),
RenderedFile::new("orders.mmd", "classDiagram").unwrap(),
];
let output = RenderOutput::new(files);
writer.write(&output).unwrap();
assert!(dir.path().join("overview.mmd").exists());
assert!(dir.path().join("orders.mmd").exists());
}