Chris@87
|
1 from __future__ import division, absolute_import, print_function
|
Chris@87
|
2
|
Chris@87
|
3 import sys
|
Chris@87
|
4 from numpy.core import arange
|
Chris@87
|
5 from numpy.testing import (
|
Chris@87
|
6 run_module_suite, assert_, assert_equal, dec
|
Chris@87
|
7 )
|
Chris@87
|
8 from numpy.lib import deprecate
|
Chris@87
|
9 import numpy.lib.utils as utils
|
Chris@87
|
10
|
Chris@87
|
11 if sys.version_info[0] >= 3:
|
Chris@87
|
12 from io import StringIO
|
Chris@87
|
13 else:
|
Chris@87
|
14 from StringIO import StringIO
|
Chris@87
|
15
|
Chris@87
|
16
|
Chris@87
|
17 @dec.skipif(sys.flags.optimize == 2)
|
Chris@87
|
18 def test_lookfor():
|
Chris@87
|
19 out = StringIO()
|
Chris@87
|
20 utils.lookfor('eigenvalue', module='numpy', output=out,
|
Chris@87
|
21 import_modules=False)
|
Chris@87
|
22 out = out.getvalue()
|
Chris@87
|
23 assert_('numpy.linalg.eig' in out)
|
Chris@87
|
24
|
Chris@87
|
25
|
Chris@87
|
26 @deprecate
|
Chris@87
|
27 def old_func(self, x):
|
Chris@87
|
28 return x
|
Chris@87
|
29
|
Chris@87
|
30
|
Chris@87
|
31 @deprecate(message="Rather use new_func2")
|
Chris@87
|
32 def old_func2(self, x):
|
Chris@87
|
33 return x
|
Chris@87
|
34
|
Chris@87
|
35
|
Chris@87
|
36 def old_func3(self, x):
|
Chris@87
|
37 return x
|
Chris@87
|
38 new_func3 = deprecate(old_func3, old_name="old_func3", new_name="new_func3")
|
Chris@87
|
39
|
Chris@87
|
40
|
Chris@87
|
41 def test_deprecate_decorator():
|
Chris@87
|
42 assert_('deprecated' in old_func.__doc__)
|
Chris@87
|
43
|
Chris@87
|
44
|
Chris@87
|
45 def test_deprecate_decorator_message():
|
Chris@87
|
46 assert_('Rather use new_func2' in old_func2.__doc__)
|
Chris@87
|
47
|
Chris@87
|
48
|
Chris@87
|
49 def test_deprecate_fn():
|
Chris@87
|
50 assert_('old_func3' in new_func3.__doc__)
|
Chris@87
|
51 assert_('new_func3' in new_func3.__doc__)
|
Chris@87
|
52
|
Chris@87
|
53
|
Chris@87
|
54 def test_safe_eval_nameconstant():
|
Chris@87
|
55 # Test if safe_eval supports Python 3.4 _ast.NameConstant
|
Chris@87
|
56 utils.safe_eval('None')
|
Chris@87
|
57
|
Chris@87
|
58
|
Chris@87
|
59 def test_byte_bounds():
|
Chris@87
|
60 a = arange(12).reshape(3, 4)
|
Chris@87
|
61 low, high = utils.byte_bounds(a)
|
Chris@87
|
62 assert_equal(high - low, a.size * a.itemsize)
|
Chris@87
|
63
|
Chris@87
|
64
|
Chris@87
|
65 if __name__ == "__main__":
|
Chris@87
|
66 run_module_suite()
|