Skip to content

Commit ba26787

Browse files
Fix bug in _harmonize_inputs_to_dict (#563)
1 parent 567464d commit ba26787

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

src/optimagic/visualization/history_plots.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ def _harmonize_inputs_to_dict(results, names):
172172
if not isinstance(names, list) and names is not None:
173173
names = [names]
174174

175-
if isinstance(results, OptimizeResult):
175+
if isinstance(results, (OptimizeResult, str, Path)):
176176
results = [results]
177177

178178
if names is not None and len(names) != len(results):

tests/optimagic/visualization/test_history_plots.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import itertools
2+
from pathlib import Path
23

34
import numpy as np
45
import pytest
@@ -126,6 +127,7 @@ def test_criterion_plot_different_input_types():
126127
criterion_plot(results, stack_multistart=True)
127128
criterion_plot(results, monotone=True, stack_multistart=True)
128129
criterion_plot(results, show_exploration=True)
130+
criterion_plot("test.db")
129131

130132

131133
def test_criterion_plot_wrong_inputs():
@@ -176,3 +178,12 @@ def test_harmonize_inputs_to_dict_invalid_names():
176178
names = ["a", "b"]
177179
with pytest.raises(ValueError):
178180
_harmonize_inputs_to_dict(results=results, names=names)
181+
182+
183+
def test_harmonize_inputs_to_dict_str_input():
184+
assert _harmonize_inputs_to_dict(results="test.db", names=None) == {"0": "test.db"}
185+
186+
187+
def test_harmonize_inputs_to_dict_path_input():
188+
path = Path("test.db")
189+
assert _harmonize_inputs_to_dict(results=path, names=None) == {"0": path}

0 commit comments

Comments
 (0)