Skip to content

Commit 9b23f62

Browse files
committed
deal with tuples and lists
1 parent 195495d commit 9b23f62

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

adaptive/tests/test_average_learner1d.py

+14-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from itertools import chain
2+
13
import numpy as np
24

35
from adaptive import AverageLearner1D
@@ -12,17 +14,24 @@ def almost_equal_dicts(a, b):
1214
assert a.keys() == b.keys()
1315
for k, v1 in a.items():
1416
v2 = b[k]
15-
if v1 is None or v2 is None:
16-
assert v1 is None
17-
assert v2 is None
17+
if (
18+
v1 is None
19+
or v2 is None
20+
or isinstance(v1, (tuple, list))
21+
and any(x is None for x in chain(v1, v2))
22+
):
23+
assert v1 == v2
1824
else:
19-
np.testing.assert_almost_equal(v1, v2)
25+
try:
26+
np.testing.assert_almost_equal(v1, v2)
27+
except TypeError:
28+
raise AssertionError(f"{v1} != {v2}")
2029

2130

2231
def test_tell_many_at_point():
2332
f = generate_random_parametrization(noisy_peak)
2433
learner = AverageLearner1D(f, bounds=(-2, 2))
25-
control = AverageLearner1D(f, bounds=(-2, 2))
34+
control = learner.new()
2635
learner._recompute_losses_factor = 1
2736
control._recompute_losses_factor = 1
2837
simple_run(learner, 100)

0 commit comments

Comments
 (0)