1- use rust_arkitect:: dsl:: { ArchitecturalRules , Arkitect , Project } ;
1+ use rust_arkitect:: dsl_v2:: architectural_rules:: ArchitecturalRules ;
2+ use rust_arkitect:: dsl_v2:: arkitect:: Arkitect ;
3+ use rust_arkitect:: dsl_v2:: project:: Project ;
24
35#[ test]
46fn test_vertical_slices_architecture_rules ( ) {
57 Arkitect :: init_logger ( ) ;
68
79 #[ rustfmt:: skip]
810 let rules = ArchitecturalRules :: define ( )
9- . component ( "Contracts" )
10- . located_at ( "contracts" )
11+ . rules_for_crate ( "contracts" )
1112 . must_not_depend_on_anything ( )
1213
13- . component ( "Conversion" )
14- . located_at ( "conversion" )
15- . may_depend_on ( & [ "Contracts" ] )
14+ . rules_for_crate ( "conversion" )
15+ . allow_dependencies_on ( & [ "contracts" ] )
1616
17- . component ( "PolicyManagement" )
18- . located_at ( "policy_management" )
19- . may_depend_on ( & [ "Contracts" ] )
17+ . rules_for_crate ( "policy_management" )
18+ . allow_dependencies_on ( & [ "contracts" ] )
2019
21- . component ( "Application" )
22- . located_at ( "application" )
23- . may_depend_on ( & [ "Conversion" , "PolicyManagement" ] )
20+ . rules_for_crate ( "application" )
21+ . allow_dependencies_on ( & [ "conversion" , "policy_management" ] )
2422
25- . finalize ( ) ;
23+ . build ( ) ;
2624
2725 let project = Project :: new ( ) ;
2826
@@ -39,18 +37,16 @@ fn test_mvc_architecture_rules() {
3937
4038 #[ rustfmt:: skip]
4139 let rules = ArchitecturalRules :: define ( )
42- . component ( "Model" )
43- . located_at ( "crate::policy_management::model" )
40+ . rules_for_module ( "crate::policy_management::model" )
4441 . must_not_depend_on_anything ( )
4542
46- . component ( "Repository" )
47- . located_at ( "crate::policy_management::repository" )
48- . may_depend_on ( & [ "Model" ] )
43+ . rules_for_module ( "crate::policy_management::repository" )
44+ . allow_dependencies_on ( & [ "crate::policy_management::model" ] )
4945
50- . component ( "Controller ")
51- . located_at ( "crate::policy_management::controller" )
52- . may_depend_on ( & [ "Repository" , "Model" ] )
53- . finalize ( ) ;
46+ . rules_for_module ( "crate::policy_management::controller ")
47+ . allow_dependencies_on ( & [ "crate::policy_management::repository" , "crate::policy_management::model" ] )
48+
49+ . build ( ) ;
5450
5551 let result = Arkitect :: ensure_that ( project) . complies_with ( rules) ;
5652
@@ -61,23 +57,19 @@ fn test_mvc_architecture_rules() {
6157fn test_three_tier_architecture ( ) {
6258 Arkitect :: init_logger ( ) ;
6359
64- let project =Project :: new ( ) ;
60+ let project = Project :: new ( ) ;
6561
6662 #[ rustfmt:: skip]
6763 let rules = ArchitecturalRules :: define ( )
68- . component ( "Application" )
69- . located_at ( "crate::conversion::application" )
70- . may_depend_on ( & [ "Domain" ] )
64+ . rules_for_module ( "crate::conversion::application" )
65+ . allow_dependencies_on ( & [ "crate::conversion::domain" ] )
7166
72- . component ( "Domain" )
73- . located_at ( "crate::conversion::domain" )
67+ . rules_for_module ( "crate::conversion::domain" )
7468 . must_not_depend_on_anything ( )
7569
76- . component ( "Infrastructure" )
77- . located_at ( "crate::conversion::infrastructure" )
78- . may_depend_on ( & [ "Domain" , "Application" ] )
79-
80- . finalize ( ) ;
70+ . rules_for_module ( "crate::conversion::infrastructure" )
71+ . allow_dependencies_on ( & [ "crate::conversion::domain" , "crate::conversion::application" ] )
72+ . build ( ) ;
8173
8274 let result = Arkitect :: ensure_that ( project) . complies_with ( rules) ;
8375
0 commit comments