from itertools import product import numpy as np import pytest from ndbioimage import Imread r = np.random.randint(0, 255, (64, 64, 2, 3, 4)) im = Imread(r) a = np.array(im) @pytest.mark.parametrize( "fun_and_axis", product( ( np.sum, np.nansum, np.min, np.nanmin, np.max, np.nanmax, np.argmin, np.argmax, np.mean, np.nanmean, np.var, np.nanvar, np.std, np.nanstd, ), (None, 0, 1, 2, 3, 4), ), ) def test_ufuncs(fun_and_axis): fun, axis = fun_and_axis assert np.all(np.isclose(fun(im, axis), fun(a, axis))), ( f"function {fun.__name__} over axis {axis} does not give the correct result" )