test_kind.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. from __future__ import division, absolute_import, print_function
  2. import os
  3. import pytest
  4. from numpy.testing import assert_
  5. from numpy.f2py.crackfortran import (
  6. _selected_int_kind_func as selected_int_kind,
  7. _selected_real_kind_func as selected_real_kind
  8. )
  9. from . import util
  10. def _path(*a):
  11. return os.path.join(*((os.path.dirname(__file__),) + a))
  12. class TestKind(util.F2PyTest):
  13. sources = [_path('src', 'kind', 'foo.f90')]
  14. @pytest.mark.slow
  15. def test_all(self):
  16. selectedrealkind = self.module.selectedrealkind
  17. selectedintkind = self.module.selectedintkind
  18. for i in range(40):
  19. assert_(selectedintkind(i) in [selected_int_kind(i), -1],
  20. 'selectedintkind(%s): expected %r but got %r' %
  21. (i, selected_int_kind(i), selectedintkind(i)))
  22. for i in range(20):
  23. assert_(selectedrealkind(i) in [selected_real_kind(i), -1],
  24. 'selectedrealkind(%s): expected %r but got %r' %
  25. (i, selected_real_kind(i), selectedrealkind(i)))