99from ephys_link .__about__ import __version__
1010from ephys_link .bindings .fake_binding import FakeBinding
1111from ephys_link .bindings .mpm_binding import MPMBinding
12- from ephys_link .bindings .ump_binding import UmpBinding
1312from ephys_link .front_end .console import Console
1413from ephys_link .utils .base_binding import BaseBinding
15- from ephys_link .utils .constants import ASCII , UNABLE_TO_CHECK_FOR_UPDATES_ERROR , ump_4_3_deprecation_error , \
16- unrecognized_platform_type_error
17- from ephys_link .utils .startup import check_for_updates , get_bindings , preamble , get_binding_instance
14+ from ephys_link .utils .constants import (
15+ ASCII ,
16+ UNABLE_TO_CHECK_FOR_UPDATES_ERROR ,
17+ ump_4_3_deprecation_error ,
18+ unrecognized_platform_type_error ,
19+ )
20+ from ephys_link .utils .startup import check_for_updates , get_binding_instance , get_bindings , preamble
1821
1922
2023class TestStartup :
@@ -99,9 +102,11 @@ def test_get_bindings_returns_valid_bindings(self):
99102 assert isinstance (bindings , list )
100103 assert all (issubclass (b , BaseBinding ) for b in bindings )
101104 assert BaseBinding not in bindings
102-
103- @pytest .mark .parametrize ("cli_name,binding" , [("fake" , FakeBinding ), ("pathfinder-mpm" , MPMBinding )])
104- def test_get_binding_instance (self , cli_name :str , binding :BaseBinding , console : Console , mocker : MockerFixture ):
105+
106+ @pytest .mark .parametrize (("cli_name" , "binding" ), [("fake" , FakeBinding ), ("pathfinder-mpm" , MPMBinding )])
107+ def test_get_binding_instance (
108+ self , cli_name : str , binding : FakeBinding | MPMBinding , console : Console , mocker : MockerFixture
109+ ):
105110 """Test that get_binding_instance returns an instance of the requested binding class."""
106111 # Arrange.
107112 spied_error_print = mocker .spy (console , "error_print" )
@@ -111,20 +116,21 @@ def test_get_binding_instance(self, cli_name:str, binding:BaseBinding, console:
111116 binding_instance = get_binding_instance (fake_options , console )
112117
113118 # Assert.
114- assert isinstance (binding_instance , binding )
119+ # noinspection PyTypeChecker
120+ assert isinstance (binding_instance , binding ) # pyright: ignore [reportArgumentType]
115121 spied_error_print .assert_not_called ()
116-
122+
117123 @pytest .mark .parametrize ("cli_name" , ["ump-4" , "ump-3" ])
118124 def test_get_binding_instance_ump (self , cli_name : str , console : Console , mocker : MockerFixture ):
119125 """Test that get_binding_instance returns an instance of the UmpBinding class and handles deprecation."""
120126 # Arrange.
121127 spied_error_print = mocker .spy (console , "error_print" )
122128 fake_options = EphysLinkOptions (type = cli_name )
123- mock_ump = mocker .patch ("ephys_link.bindings.ump_binding.UmpBinding" , autospec = True )
129+ _ = mocker .patch ("ephys_link.bindings.ump_binding.UmpBinding" , autospec = True )
124130
125131 # Act.
126- with pytest .raises (ValueError ) as e :
127- get_binding_instance (fake_options , console )
132+ with pytest .raises (ValueError , match = unrecognized_platform_type_error ( "ump" ) ) as e :
133+ _ = get_binding_instance (fake_options , console )
128134
129135 # Assert.
130136 spied_error_print .assert_called_once_with ("DEPRECATION" , ump_4_3_deprecation_error (cli_name ))
0 commit comments