diff --git a/test/test_pytools.py b/test/test_pytools.py index bc87381a9e5c4a36ac2d473f9f1a613a9717884f..403174baed56708560a6ec964d43af37af42117c 100644 --- a/test/test_pytools.py +++ b/test/test_pytools.py @@ -313,6 +313,8 @@ def test_eoc(): from pytools.convergence import EOCRecorder eoc = EOCRecorder() + # {{{ test pretty_print + for i in range(1, 8): eoc.add_data_point(1.0 / i, 10 ** (-i)) @@ -326,6 +328,30 @@ def test_eoc(): eoc_format="%5.2f") print(p) + # }}} + + # {{{ test invalid inputs + + import numpy as np + + eoc = EOCRecorder() + + # scalar inputs are fine + eoc.add_data_point(1, 1) + eoc.add_data_point(1.0, 1.0) + eoc.add_data_point(np.float32(1.0), 1.0) + eoc.add_data_point(np.array(3), 1.0) + eoc.add_data_point(1.0, np.array(3)) + + # non-scalar inputs are not fine though + with pytest.raises(TypeError): + eoc.add_data_point(np.array([3]), 1.0) + + with pytest.raises(TypeError): + eoc.add_data_point(1.0, np.array([3])) + + # }}} + def test_natsorted(): from pytools import natsorted, natorder