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,39 @@
use archlens_domain::{
AnalysisResult, AnalysisWarning, CodeElement, CodeElementKind, FilePath, Relationship,
RelationshipKind,
};
#[test]
fn analysis_result_collects_elements_relationships_and_warnings() {
let element = CodeElement::new(
"Order",
CodeElementKind::Struct,
FilePath::new("src/order.rs").unwrap(),
1,
)
.unwrap();
let relationship =
Relationship::new("OrderService", "Order", RelationshipKind::Composition).unwrap();
let warning = AnalysisWarning::new(
FilePath::new("src/broken.rs").unwrap(),
10,
"unparseable macro",
)
.unwrap();
let result = AnalysisResult::new(vec![element], vec![relationship], vec![warning]);
assert_eq!(result.elements().len(), 1);
assert_eq!(result.relationships().len(), 1);
assert_eq!(result.warnings().len(), 1);
}
#[test]
fn empty_analysis_result() {
let result = AnalysisResult::empty();
assert!(result.elements().is_empty());
assert!(result.relationships().is_empty());
assert!(result.warnings().is_empty());
}