optuna
57 строк · 1.4 Кб
1import copy
2
3import pytest
4
5from optuna import create_study
6from optuna import get_all_study_summaries
7from optuna.storages import RDBStorage
8
9
10def test_study_summary_eq_ne() -> None:
11storage = RDBStorage("sqlite:///:memory:")
12
13create_study(storage=storage)
14study = create_study(storage=storage)
15
16summaries = get_all_study_summaries(study._storage, include_best_trial=True)
17assert len(summaries) == 2
18
19assert summaries[0] == copy.deepcopy(summaries[0])
20assert not summaries[0] != copy.deepcopy(summaries[0])
21
22assert not summaries[0] == summaries[1]
23assert summaries[0] != summaries[1]
24
25assert not summaries[0] == 1
26assert summaries[0] != 1
27
28
29def test_study_summary_lt_le() -> None:
30storage = RDBStorage("sqlite:///:memory:")
31
32create_study(storage=storage)
33study = create_study(storage=storage)
34
35summaries = get_all_study_summaries(study._storage, include_best_trial=True)
36assert len(summaries) == 2
37
38summary_0 = summaries[0]
39summary_1 = summaries[1]
40
41assert summary_0 < summary_1
42assert not summary_1 < summary_0
43
44with pytest.raises(TypeError):
45summary_0 < 1
46
47assert summary_0 <= summary_0
48assert not summary_1 <= summary_0
49
50with pytest.raises(TypeError):
51summary_0 <= 1
52
53# A list of StudySummaries is sortable.
54summaries.reverse()
55summaries.sort()
56assert summaries[0] == summary_0
57assert summaries[1] == summary_1
58