@@ -308,7 +308,7 @@ def test_analyse_atlas(
308308 if context == "AtlasContext"
309309 ]
310310
311- # Mock the 'post_transfer' class function
311+ # Set up mocks and spies
312312 mock_post_transfer = mocker .patch .object (Analyser , "post_transfer" )
313313 spy_find_context = mocker .spy (Analyser , "_find_context" )
314314
@@ -343,7 +343,7 @@ def test_analyse_spa(
343343 if context == context_to_test
344344 ]
345345
346- # Mock the 'post_transfer' class function
346+ # Set up mocks and spies
347347 mock_post_transfer = mocker .patch .object (Analyser , "post_transfer" )
348348 spy_find_context = mocker .spy (Analyser , "_find_context" )
349349 spy_find_extension = mocker .spy (Analyser , "_find_extension" )
@@ -361,5 +361,42 @@ def test_analyse_spa(
361361 mock_post_transfer .assert_called ()
362362
363363
364- def test_analyse_tomo ():
365- pass
364+ @pytest .mark .parametrize (
365+ "context_to_test" ,
366+ ("TomographyContext" , "TomographyMetadataContext" ),
367+ )
368+ def test_analyse_tomo (
369+ mocker : MockerFixture ,
370+ context_to_test : str ,
371+ tmp_path : Path ,
372+ ):
373+ test_files = [
374+ file
375+ for context , file_list in example_files .items ()
376+ for file in file_list
377+ if context == context_to_test
378+ ]
379+
380+ # Set up mocks and spies
381+ mock_post_transfer = mocker .patch .object (Analyser , "post_transfer" )
382+ if context_to_test == "TomographyContext" :
383+ mock_gather_metadata = mocker .patch (
384+ "murfey.client.contexts.tomo.TomographyContext.gather_metadata"
385+ )
386+ else :
387+ mock_gather_metadata = mocker .patch (
388+ "murfey.client.contexts.tomo_metadata.TomographyMetadataContext.gather_metadata"
389+ )
390+ mock_gather_metadata .return_value = {"dummy" : "dummy" }
391+
392+ spy_find_context = mocker .spy (Analyser , "_find_context" )
393+ spy_find_extension = mocker .spy (Analyser , "_find_extension" )
394+
395+ # Initialise the Analyser
396+ analyser = Analyser (tmp_path , "" , force_mdoc_metadata = True )
397+ for file in test_files :
398+ analyser ._analyse (tmp_path / file )
399+
400+ assert spy_find_context .call_count == 1
401+ assert spy_find_extension .call_count > 0
402+ mock_post_transfer .assert_called ()
0 commit comments