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
« 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"""
9from datetime import datetime
11import pytest
13from mlos_bench.environments.status import Status
14from mlos_bench.storage.base_experiment_data import ExperimentData
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()