@@ -92,15 +92,18 @@ def test_experiment_initialization_and_device_loading(tmp_path, mock_interpolato
9292 "eye_tracker" : {"interpolation" : mock_interpolator },
9393 }
9494 exp = Experiment (root_folder = str (tmp_path ), modality_config = config )
95- assert "screen" in exp .devices , "Expected 'screen' in experiment devices"
96- assert "eye_tracker" in exp .devices , "Expected 'eye_tracker' in experiment devices"
97- assert (
98- "ignored_device" not in exp .devices
99- ), "Expected 'ignored_device' to be excluded"
100- assert set (exp .device_names ) == {
101- "screen" ,
102- "eye_tracker" ,
103- }, f"Expected {{'screen', 'eye_tracker'}}, got { set (exp .device_names )} "
95+ assert "screen" in exp .devices , (
96+ f"Expected 'screen' in experiment devices but exp.devices = { exp .devices } "
97+ )
98+ assert "eye_tracker" in exp .devices , (
99+ f"Expected 'eye_tracker' in experiment devices but exp.devices = { exp .devices } "
100+ )
101+ assert "ignored_device" not in exp .devices , (
102+ f"Expected 'ignored_device' to be excluded from experiment devices but exp.devices = { exp .devices } "
103+ )
104+ assert set (exp .device_names ) == {"screen" , "eye_tracker" }, (
105+ f"Expected {{'screen', 'eye_tracker'}}, got { set (exp .device_names )} "
106+ )
104107
105108
106109def test_experiment_interpolate_routing (tmp_path , mock_interpolator ):
@@ -116,16 +119,16 @@ def test_experiment_interpolate_routing(tmp_path, mock_interpolator):
116119 np .testing .assert_array_equal (
117120 res ,
118121 np .array ([1 , 2 , 3 ]),
119- err_msg = "Interpolated result does not match mock output" ,
122+ err_msg = f "Interpolated result does not match mock output. Got { res } " ,
120123 )
121124 res_dict = exp .interpolate (test_times , device = None )
122- assert isinstance (
123- res_dict , dict
124- ), f"Expected dict return for device=None, got { type ( res_dict ) } "
125+ assert isinstance (res_dict , dict ), (
126+ f"Expected dict return for device=None, got { type ( res_dict ) } "
127+ )
125128 np .testing .assert_array_equal (
126129 res_dict ["screen" ],
127130 np .array ([1 , 2 , 3 ]),
128- err_msg = "Interpolated dict result does not match mock output" ,
131+ err_msg = f "Interpolated dict result does not match mock output. Got { res_dict [ 'screen' ] } " ,
129132 )
130133
131134
@@ -154,10 +157,9 @@ def test_get_valid_range_all_devices(tmp_path, device_name, start_t, end_t):
154157 root_folder = str (experiment_path ), modality_config = config
155158 )
156159 valid_range = experiment .get_valid_range (device_name )
157- assert valid_range == (
158- start_t ,
159- end_t ,
160- ), f"Expected valid range { (start_t , end_t )} for { device_name } , got { valid_range } "
160+ assert valid_range == (start_t , end_t ), (
161+ f"Expected valid range { (start_t , end_t )} for { device_name } , got { valid_range } "
162+ )
161163
162164
163165def test_get_valid_range_raises_for_invalid_device (tmp_path ):
@@ -214,9 +216,15 @@ def test_experiment_numeric_precision_offset(
214216 modality_config = make_modality_config ("device_0" ),
215217 )
216218 valid_range = experiment .get_valid_range ("device_0" )
217- # Keep pytest.approx here as it's dealing with floats generated by Hypothesis
218- assert valid_range [0 ] == pytest .approx (start_offset )
219- assert valid_range [1 ] == pytest .approx (start_offset + duration )
219+
220+ assert valid_range [0 ] == pytest .approx (start_offset ), (
221+ f"Expected valid_range[0] to be approx { start_offset } , got { valid_range [0 ]} "
222+ )
223+
224+ assert valid_range [1 ] == pytest .approx (start_offset + duration ), (
225+ f"Expected valid_range[1] to be approx { start_offset + duration } , got { valid_range [1 ]} "
226+ )
227+
220228 res = experiment .interpolate (np .array ([start_offset ]), device = "device_0" )
221229 assert res is not None
222230
@@ -279,13 +287,12 @@ def test_experiment_start_end_time_reflects_union(
279287 root_folder = str (experiment_path ), modality_config = config
280288 )
281289
282- # Removed pytest.approx here
283- assert experiment .start_time == (
284- expected_start
285- ), f"Expected start_time={ expected_start } , got { experiment .start_time } "
286- assert experiment .end_time == (
287- expected_end
288- ), f"Expected end_time={ expected_end } , got { experiment .end_time } "
290+ assert experiment .start_time == (expected_start ), (
291+ f"Expected start_time={ expected_start } , got { experiment .start_time } "
292+ )
293+ assert experiment .end_time == (expected_end ), (
294+ f"Expected end_time={ expected_end } , got { experiment .end_time } "
295+ )
289296
290297
291298@pytest .mark .parametrize ("override_meta" , INVALID_META_CASES , ids = INVALID_META_IDS )
@@ -321,9 +328,13 @@ def test_experiment_skips_invalid_devices(tmp_path, override_meta, caplog):
321328 duration_val = np .random .lognormal (mean = 0.0 , sigma = 1.0 )
322329 end_val = start_val + duration_val
323330
331+ # Generate random values for the invalid device as well
332+ inv_start = np .random .lognormal (mean = 0.0 , sigma = 1.0 )
333+ inv_end = inv_start + 10.0
334+
324335 devices_kwargs = [
325336 {"start_time" : start_val , "t_end" : end_val }, # valid device
326- {"start_time" : 0.0 , "t_end" : 10.0 }, # invalid device
337+ {"start_time" : inv_start , "t_end" : inv_end }, # invalid device
327338 ]
328339
329340 with setup_test_experiment (
@@ -348,20 +359,21 @@ def test_experiment_skips_invalid_devices(tmp_path, override_meta, caplog):
348359 root_folder = str (experiment_path ), modality_config = config
349360 )
350361
351- assert (
352- "valid_device" in experiment .devices
353- ), "Expected 'valid_device' to be initialized"
354- assert (
355- "invalid_device" not in experiment .devices
356- ), "Expected 'invalid_device' to be skipped"
357-
358- # Removed pytest.approx here
359- assert experiment .start_time == (
360- start_val
361- ), f"Expected start_time={ start_val } , got { experiment .start_time } "
362- assert experiment .end_time == (
363- end_val
364- ), f"Expected end_time={ end_val } , got { experiment .end_time } "
365- assert any (
366- "invalid_device" in message for message in caplog .messages
367- ), "Expected warning about invalid_device was skipped"
362+ assert "valid_device" in experiment .devices , (
363+ f"Expected 'valid_device' to be in experiment.devices but experiment.devices = { experiment .devices } "
364+ )
365+
366+ assert "invalid_device" not in experiment .devices , (
367+ f"Expected 'invalid_device' to be skipped in experiment.devices, instead experiment.devices = { experiment .devices } "
368+ )
369+
370+ assert experiment .start_time == (start_val ), (
371+ f"Expected start_time={ start_val } , got { experiment .start_time } "
372+ )
373+ assert experiment .end_time == (end_val ), (
374+ f"Expected end_time={ end_val } , got { experiment .end_time } "
375+ )
376+
377+ assert any ("invalid_device" in message for message in caplog .messages ), (
378+ f"Expected warning about invalid_device was skipped. caplog.messages = { caplog .messages } "
379+ )
0 commit comments