diff --git a/tests/test_examples.py b/tests/test_examples.py index ee720284d..45d5eda6d 100644 --- a/tests/test_examples.py +++ b/tests/test_examples.py @@ -1,39 +1,119 @@ import unittest +from pathlib import Path + +from matplotlib.testing import compare + +import numpy as np +from eomaps import Maps + +basepath = Path(__file__).parent +img_folder = basepath / "test_images" / "examples" + + +def compareit(tol=1, **save_kwargs): + def decorator(f): + def wrapper(*args, **kwargs): + test_img = img_folder / (f.__name__ + ".png") + compare_img = test_img.parent / ( + test_img.stem + "_compare" + test_img.suffix + ) + + m = f(*args, **kwargs) + + # if not test_img.exists(): + # m.savefig(test_img, **save_kwargs) + # print("Image did not yet exist!!") + # return + + m.savefig(compare_img, **save_kwargs) + ret = compare.compare_images(test_img, compare_img, tol, False) + + if ret is not None: + raise compare.ImageComparisonFailure(ret) + + return ret + + return wrapper + + return decorator class TestExamples(unittest.TestCase): + @compareit() def test_example1(self): - import example1 + np.random.seed(1) + + from example1 import m + + return m + @compareit() def test_example2(self): - import example2 + np.random.seed(1) + from example2 import m + + return m + + @compareit() def test_example3(self): - import example3 + np.random.seed(1) + + from example3 import m + + return m + @compareit() def test_example4(self): - import example4 + from example4 import m + return m + + @compareit() def test_example5(self): - import example5 + from example5 import m + + return m + @compareit(tol=10) def test_example6(self): - import example6 + # increase tolerance here since we deal with webmaps! + from example6 import m + + return m + @compareit() def test_example7(self): - import example7 + from example7 import m + return m + + @compareit() def test_example8(self): - import example8 + from example8 import m + + return m + @compareit() def test_example9(self): - import example9 + from example9 import m + + return m + @compareit() def test_example_inset_maps(self): - import example_inset_maps + from example_inset_maps import m + return m + + @compareit() def test_example_row_col_selector(self): - import example_row_col_selector + from example_row_col_selector import m + + return m + @compareit() def test_example_lines(self): - import example_lines + from example_lines import m + + return m diff --git a/tests/test_images/examples/test_example1.png b/tests/test_images/examples/test_example1.png new file mode 100644 index 000000000..7472a474a Binary files /dev/null and b/tests/test_images/examples/test_example1.png differ diff --git a/tests/test_images/examples/test_example2.png b/tests/test_images/examples/test_example2.png new file mode 100644 index 000000000..d2d543fe8 Binary files /dev/null and b/tests/test_images/examples/test_example2.png differ diff --git a/tests/test_images/examples/test_example3.png b/tests/test_images/examples/test_example3.png new file mode 100644 index 000000000..23a55c8ea Binary files /dev/null and b/tests/test_images/examples/test_example3.png differ diff --git a/tests/test_images/examples/test_example4.png b/tests/test_images/examples/test_example4.png new file mode 100644 index 000000000..e02525f12 Binary files /dev/null and b/tests/test_images/examples/test_example4.png differ diff --git a/tests/test_images/examples/test_example5.png b/tests/test_images/examples/test_example5.png new file mode 100644 index 000000000..362bf7965 Binary files /dev/null and b/tests/test_images/examples/test_example5.png differ diff --git a/tests/test_images/examples/test_example6.png b/tests/test_images/examples/test_example6.png new file mode 100644 index 000000000..f90173482 Binary files /dev/null and b/tests/test_images/examples/test_example6.png differ diff --git a/tests/test_images/examples/test_example7.png b/tests/test_images/examples/test_example7.png new file mode 100644 index 000000000..8ace33310 Binary files /dev/null and b/tests/test_images/examples/test_example7.png differ diff --git a/tests/test_images/examples/test_example8.png b/tests/test_images/examples/test_example8.png new file mode 100644 index 000000000..b9937ace8 Binary files /dev/null and b/tests/test_images/examples/test_example8.png differ diff --git a/tests/test_images/examples/test_example9.png b/tests/test_images/examples/test_example9.png new file mode 100644 index 000000000..9869d578b Binary files /dev/null and b/tests/test_images/examples/test_example9.png differ diff --git a/tests/test_images/examples/test_example_inset_maps.png b/tests/test_images/examples/test_example_inset_maps.png new file mode 100644 index 000000000..74e3a4b1b Binary files /dev/null and b/tests/test_images/examples/test_example_inset_maps.png differ diff --git a/tests/test_images/examples/test_example_lines.png b/tests/test_images/examples/test_example_lines.png new file mode 100644 index 000000000..094d14103 Binary files /dev/null and b/tests/test_images/examples/test_example_lines.png differ diff --git a/tests/test_images/examples/test_example_row_col_selector.png b/tests/test_images/examples/test_example_row_col_selector.png new file mode 100644 index 000000000..1170de3d4 Binary files /dev/null and b/tests/test_images/examples/test_example_row_col_selector.png differ