11"""Tests to validated user facing decorators in service.py."""
22import pytest
33
4- from ni_measurementlink_service .measurement .info import DataType
5- from ni_measurementlink_service .measurement .info import TypeSpecialization
4+ from ni_measurementlink_service .measurement .info import (
5+ DataType ,
6+ MeasurementInfo ,
7+ ServiceInfo ,
8+ TypeSpecialization ,
9+ )
610from ni_measurementlink_service .measurement .service import MeasurementService
711
812
9- def test___measurement_service___register_measurement_method___method_registered ():
10- """Test to validate register_measurement decorator."""
11- measurement_service = MeasurementService (None , None )
13+ _TEST_SERVICE_INFO = ServiceInfo ("TestServiceClass" , "TestUrl" )
14+ _TEST_MEASUREMENT_INFO = MeasurementInfo (
15+ display_name = "TestMeasurement" ,
16+ version = "1.0.0.0" ,
17+ ui_file_paths = [],
18+ )
1219
20+
21+ def test___measurement_service___register_measurement_method___method_registered (
22+ measurement_service : MeasurementService ,
23+ ):
24+ """Test to validate register_measurement decorator."""
1325 measurement_service .register_measurement (_fake_measurement_function )
1426
1527 measurement_service .measure_function == _fake_measurement_function
@@ -31,12 +43,14 @@ def test___measurement_service___register_measurement_method___method_registered
3143 ],
3244)
3345def test___measurement_service___add_configuration__configuration_added (
34- display_name , type , default_value
46+ measurement_service : MeasurementService ,
47+ display_name : str ,
48+ type : DataType ,
49+ default_value : object ,
3550):
3651 """Test to validate the configuration decorator."""
37- measurement_service = MeasurementService (None , None )
38-
3952 measurement_service .configuration (display_name , type , default_value )(_fake_measurement_function )
53+
4054 assert any (
4155 param .display_name == display_name
4256 and param .type == type .value [0 ]
@@ -54,11 +68,13 @@ def test___measurement_service___add_configuration__configuration_added(
5468 ],
5569)
5670def test___measurement_service___add_pin_configuration__pin_configuration_added (
57- display_name , type , default_value , instrument_type
71+ measurement_service : MeasurementService ,
72+ display_name : str ,
73+ type : DataType ,
74+ default_value : object ,
75+ instrument_type : str ,
5876):
5977 """Test to validate the configuration decorator."""
60- measurement_service = MeasurementService (None , None )
61-
6278 measurement_service .configuration (
6379 display_name , type , default_value , instrument_type = instrument_type
6480 )(_fake_measurement_function )
@@ -93,11 +109,12 @@ def test___measurement_service___add_pin_configuration__pin_configuration_added(
93109 ],
94110)
95111def test___measurement_service___add_non_pin_configuration__pin_type_annotations_not_added (
96- display_name , type , default_value
112+ measurement_service : MeasurementService ,
113+ display_name : str ,
114+ type : DataType ,
115+ default_value : object ,
97116):
98117 """Test to validate the configuration decorator."""
99- measurement_service = MeasurementService (None , None )
100-
101118 measurement_service .configuration (display_name , type , default_value )(_fake_measurement_function )
102119
103120 assert not all (
@@ -114,11 +131,12 @@ def test___measurement_service___add_non_pin_configuration__pin_type_annotations
114131 ],
115132)
116133def test___measurement_service___add_path_configuration__path_configuration_added (
117- display_name , type , default_value
134+ measurement_service : MeasurementService ,
135+ display_name : str ,
136+ type : DataType ,
137+ default_value : object ,
118138):
119139 """Test to validate the configuration decorator."""
120- measurement_service = MeasurementService (None , None )
121-
122140 measurement_service .configuration (display_name , type , default_value )(_fake_measurement_function )
123141
124142 assert any (
@@ -149,11 +167,12 @@ def test___measurement_service___add_path_configuration__path_configuration_adde
149167 ],
150168)
151169def test___measurement_service___add_non_path_configuration__path_type_annotations_not_added (
152- display_name , type , default_value
170+ measurement_service : MeasurementService ,
171+ display_name : str ,
172+ type : DataType ,
173+ default_value : object ,
153174):
154175 """Test to validate the configuration decorator."""
155- measurement_service = MeasurementService (None , None )
156-
157176 measurement_service .configuration (display_name , type , default_value )(_fake_measurement_function )
158177
159178 assert not all (
@@ -181,11 +200,12 @@ def test___measurement_service___add_non_path_configuration__path_type_annotatio
181200 ],
182201)
183202def test___measurement_service___add_configuration_with_mismatch_default_value__raises_type_error (
184- display_name , type , default_value
203+ measurement_service : MeasurementService ,
204+ display_name : str ,
205+ type : DataType ,
206+ default_value : object ,
185207):
186208 """Test to validate the configuration decorator with default value mismatch."""
187- measurement_service = MeasurementService (None , None )
188-
189209 with pytest .raises (TypeError ):
190210 measurement_service .configuration (display_name , type , default_value )(
191211 _fake_measurement_function
@@ -207,10 +227,10 @@ def test___measurement_service___add_configuration_with_mismatch_default_value__
207227 ("UInt44" , DataType .UInt64 ),
208228 ],
209229)
210- def test___measurement_service___add_output__output_added (display_name , type ):
230+ def test___measurement_service___add_output__output_added (
231+ measurement_service : MeasurementService , display_name : str , type : DataType
232+ ):
211233 """Test to validate the output decorator."""
212- measurement_service = MeasurementService (None , None )
213-
214234 measurement_service .output (display_name , type )(_fake_measurement_function )
215235
216236 assert any (
@@ -223,3 +243,9 @@ def test___measurement_service___add_output__output_added(display_name, type):
223243
224244def _fake_measurement_function ():
225245 pass
246+
247+
248+ @pytest .fixture
249+ def measurement_service () -> MeasurementService :
250+ """Create a MeasurementService."""
251+ return MeasurementService (_TEST_MEASUREMENT_INFO , _TEST_SERVICE_INFO )
0 commit comments