@@ -206,6 +206,63 @@ def test_get_source_files_errors(self):
206206 self .assertRaisesRegexp (ValueError , ".*Found no file named.*%s.* in library 'lib1'" % non_existant_name ,
207207 ui .get_source_file , non_existant_name , "lib1" )
208208
209+ @mock .patch ("vunit.project.Project.add_manual_dependency" , autospec = True )
210+ def test_add_single_file_manual_dependencies (self , add_manual_dependency ):
211+ # pylint: disable=protected-access
212+ ui = self ._create_ui ()
213+ lib = ui .library ("lib" )
214+ file_name1 = self .create_entity_file (1 )
215+ file_name2 = self .create_entity_file (2 )
216+ file1 = lib .add_source_file (file_name1 )
217+ file2 = lib .add_source_file (file_name2 )
218+
219+ add_manual_dependency .assert_has_calls ([])
220+ file1 .depends_on (file2 )
221+ add_manual_dependency .assert_has_calls ([
222+ mock .call (ui ._project ,
223+ file1 ._source_file ,
224+ depends_on = file2 ._source_file )])
225+
226+ @mock .patch ("vunit.project.Project.add_manual_dependency" , autospec = True )
227+ def test_add_multiple_file_manual_dependencies (self , add_manual_dependency ):
228+ # pylint: disable=protected-access
229+ ui = self ._create_ui ()
230+ lib = ui .library ("lib" )
231+ self .create_file ("foo1.vhd" )
232+ self .create_file ("foo2.vhd" )
233+ self .create_file ("foo3.vhd" )
234+ self .create_file ("bar.vhd" )
235+ foo_files = lib .add_source_files ("foo*.vhd" )
236+ bar_file = lib .add_source_file ("bar.vhd" )
237+
238+ add_manual_dependency .assert_has_calls ([])
239+ bar_file .depends_on (foo_files )
240+ add_manual_dependency .assert_has_calls ([
241+ mock .call (ui ._project ,
242+ bar_file ._source_file ,
243+ depends_on = foo_file ._source_file )
244+ for foo_file in foo_files ])
245+
246+ @mock .patch ("vunit.project.Project.add_manual_dependency" , autospec = True )
247+ def test_add_fileset_manual_dependencies (self , add_manual_dependency ):
248+ # pylint: disable=protected-access
249+ ui = self ._create_ui ()
250+ lib = ui .library ("lib" )
251+ self .create_file ("foo1.vhd" )
252+ self .create_file ("foo2.vhd" )
253+ self .create_file ("foo3.vhd" )
254+ self .create_file ("bar.vhd" )
255+ foo_files = lib .add_source_files ("foo*.vhd" )
256+ bar_file = lib .add_source_file ("bar.vhd" )
257+
258+ add_manual_dependency .assert_has_calls ([])
259+ foo_files .depends_on (bar_file )
260+ add_manual_dependency .assert_has_calls ([
261+ mock .call (ui ._project ,
262+ foo_file ._source_file ,
263+ depends_on = bar_file ._source_file )
264+ for foo_file in foo_files ])
265+
209266 def _test_pre_config_helper (self , retval , test_not_entity = False ):
210267 """
211268 Helper method to test pre_config where the pre config can return different values
0 commit comments