Chris@87: from __future__ import division, absolute_import, print_function Chris@87: Chris@87: import os Chris@87: import math Chris@87: Chris@87: import numpy as np Chris@87: from numpy.testing import dec, assert_raises, assert_equal Chris@87: Chris@87: import util Chris@87: Chris@87: def _path(*a): Chris@87: return os.path.join(*((os.path.dirname(__file__),) + a)) Chris@87: Chris@87: class TestIntentInOut(util.F2PyTest): Chris@87: # Check that intent(in out) translates as intent(inout) Chris@87: sources = [_path('src', 'regression', 'inout.f90')] Chris@87: Chris@87: @dec.slow Chris@87: def test_inout(self): Chris@87: # non-contiguous should raise error Chris@87: x = np.arange(6, dtype=np.float32)[::2] Chris@87: assert_raises(ValueError, self.module.foo, x) Chris@87: Chris@87: # check values with contiguous array Chris@87: x = np.arange(3, dtype=np.float32) Chris@87: self.module.foo(x) Chris@87: assert_equal(x, [3, 1, 2]) Chris@87: Chris@87: Chris@87: if __name__ == "__main__": Chris@87: import nose Chris@87: nose.runmodule()