summaryrefslogtreecommitdiff
path: root/numpy/f2py/tests/test_regression.py
blob: b30af0c4ca4ed8ded47c0c0ba75b2d4d0b93c7aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from __future__ import division, absolute_import, print_function

import os
import math

import numpy as np
from numpy.testing import dec, assert_raises, assert_equal

import util


def _path(*a):
    return os.path.join(*((os.path.dirname(__file__),) + a))


class TestIntentInOut(util.F2PyTest):
    # Check that intent(in out) translates as intent(inout)
    sources = [_path('src', 'regression', 'inout.f90')]

    @dec.slow
    def test_inout(self):
        # non-contiguous should raise error
        x = np.arange(6, dtype=np.float32)[::2]
        assert_raises(ValueError, self.module.foo, x)

        # check values with contiguous array
        x = np.arange(3, dtype=np.float32)
        self.module.foo(x)
        assert_equal(x, [3, 1, 2])


if __name__ == "__main__":
    import nose
    nose.runmodule()