@@ -79,6 +79,7 @@ def _generate_mocks(self):
79
79
self .rxswift = Framework ('RxSwift' )
80
80
self .test_design_kit = Framework (name = 'DesignKitTests' , is_test_framework = True )
81
81
self .awesome_dependency = Framework ('AwesomeDependency' )
82
+ self .not_linked_framework = Framework ('External' )
82
83
self .frameworks = [
83
84
self .foundation_kit ,
84
85
self .design_kit ,
@@ -103,6 +104,9 @@ def test_distance_main_sequence(self):
103
104
def test_instability_no_imports (self ):
104
105
self .assertEqual (0 , Metrics .instability (self .foundation_kit , self .frameworks ))
105
106
107
+ def test_instability_not_linked_framework (self ):
108
+ self .assertEqual (0 , Metrics .instability (self .not_linked_framework , self .frameworks ))
109
+
106
110
def test_instability_imports (self ):
107
111
self .assertAlmostEqual (1.0 , Metrics .instability (self .app_layer , self .frameworks ))
108
112
@@ -167,6 +171,24 @@ def test_poc_valid_loc_noc(self):
167
171
def test_poc_invalid_loc_noc (self ):
168
172
self .assertEqual (0 , Metrics .percentage_of_comments (loc = 0 , noc = 0 ))
169
173
174
+ def test_ia_analysis_zone_of_pain (self ):
175
+ self .assertTrue ("Zone of Pain" in Metrics .ia_analysis (0.4 , 0.4 ))
176
+
177
+ def test_ia_analysis_zone_of_uselessness (self ):
178
+ self .assertTrue ("Zone of Uselessness" in Metrics .ia_analysis (0.7 , 0.7 ))
179
+
180
+ def test_ia_analysis_highly_stable (self ):
181
+ self .assertTrue ("Highly stable component" in Metrics .ia_analysis (0.1 , 0.51 ))
182
+
183
+ def test_ia_analysis_highly_unstable (self ):
184
+ self .assertTrue ("Highly unstable component" in Metrics .ia_analysis (0.81 , 0.49 ))
185
+
186
+ def test_ia_analysis_low_abstract (self ):
187
+ self .assertTrue ("Low abstract component" in Metrics .ia_analysis (0.51 , 0.1 ))
188
+
189
+ def test_ia_analysis_high_abstract (self ):
190
+ self .assertTrue ("High abstract component" in Metrics .ia_analysis (0.49 , 0.81 ))
191
+
170
192
@property
171
193
def __dummy_external_frameworks (self ):
172
194
return [
0 commit comments