From ed92a59fea776625f3e29a0478f259167b845d78 Mon Sep 17 00:00:00 2001
From: Alexandru Fikl <alexfikl@gmail.com>
Date: Sun, 31 Oct 2021 00:14:45 -0500
Subject: [PATCH] add some tests to EOCRecorder

---
 test/test_pytools.py | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/test/test_pytools.py b/test/test_pytools.py
index bc87381..403174b 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
-- 
GitLab