init: archlens — architecture diagram generator
Some checks failed
CI / Check / Test (push) Failing after 1m24s
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:
39
crates/domain/tests/analysis_result_tests.rs
Normal file
39
crates/domain/tests/analysis_result_tests.rs
Normal 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());
|
||||
}
|
||||
Reference in New Issue
Block a user