TST: add tests for coord_map function

This commit is contained in:
Gregory R. Lee
2015-07-07 16:04:01 -04:00
parent 7cfbd70204
commit a36ab880fc
3 changed files with 26 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
from interpolation cimport coord_map as _coord_map
def coord_map(Py_ssize_t dim, long coord, mode):
cdef char mode_c = ord(mode[0].upper())
return _coord_map(dim, coord, mode_c)
+2 -1
View File
@@ -15,11 +15,12 @@ def configuration(parent_package='', top_path=None):
cython(['geometry.pyx'], working_path=base_path)
cython(['transform.pyx'], working_path=base_path)
cython(['_interpolation_test.pyx'], working_path=base_path)
config.add_extension('geometry', sources=['geometry.c'])
config.add_extension('transform', sources=['transform.c'],
include_dirs=[get_numpy_include_dirs()])
config.add_extension('_interpolation_test', sources=['_interpolation_test.c'])
return config
@@ -0,0 +1,19 @@
from skimage._shared._interpolation_test import coord_map
from numpy.testing import assert_array_equal
def test_coord_map():
reflect = [coord_map(4, n, 'R') for n in range(-6, 6)]
expected_reflect = [2, 3, 3, 2, 1, 0, 0, 1, 2, 3, 3, 2]
assert_array_equal(reflect, expected_reflect)
wrap = [coord_map(4, n, 'W') for n in range(-6, 6)]
expected_wrap = [2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1]
assert_array_equal(wrap, expected_wrap)
nearest = [coord_map(4, n, 'N') for n in range(-6, 6)]
expected_neareset = [0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 3]
assert_array_equal(nearest, expected_neareset)
other = [coord_map(4, n, 'undefined') for n in range(-6, 6)]
assert_array_equal(other, list(range(-6, 6)))