Coverage for mlos_bench/mlos_bench/tests/storage/trial_data_test.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.5.1, created at 2024-05-05 00:36 +0000

1# 

2# Copyright (c) Microsoft Corporation. 

3# Licensed under the MIT License. 

4# 

5""" 

6Unit tests for loading the trial metadata. 

7""" 

8 

9from datetime import datetime 

10 

11import pytest 

12 

13from mlos_bench.environments.status import Status 

14from mlos_bench.storage.base_experiment_data import ExperimentData 

15 

16 

17def test_exp_trial_data(exp_data: ExperimentData) -> None: 

18 """ 

19 Check expected return values for TrialData. 

20 """ 

21 trial_id = 1 

22 expected_config_id = 1 

23 trial = exp_data.trials[trial_id] 

24 assert trial.trial_id == trial_id 

25 assert trial.tunable_config_id == expected_config_id 

26 assert trial.status == Status.SUCCEEDED 

27 assert trial.metadata_dict["trial_number"] == trial_id 

28 assert list(trial.results_dict.keys()) == ["score"] 

29 assert trial.results_dict["score"] == pytest.approx(0.0, abs=0.1) 

30 assert isinstance(trial.ts_start, datetime) 

31 assert isinstance(trial.ts_end, datetime) 

32 # Note: tests for telemetry are in test_update_telemetry()