Chris@87: from __future__ import division, absolute_import, print_function Chris@87: Chris@87: import sys Chris@87: from numpy.core import arange Chris@87: from numpy.testing import ( Chris@87: run_module_suite, assert_, assert_equal, dec Chris@87: ) Chris@87: from numpy.lib import deprecate Chris@87: import numpy.lib.utils as utils Chris@87: Chris@87: if sys.version_info[0] >= 3: Chris@87: from io import StringIO Chris@87: else: Chris@87: from StringIO import StringIO Chris@87: Chris@87: Chris@87: @dec.skipif(sys.flags.optimize == 2) Chris@87: def test_lookfor(): Chris@87: out = StringIO() Chris@87: utils.lookfor('eigenvalue', module='numpy', output=out, Chris@87: import_modules=False) Chris@87: out = out.getvalue() Chris@87: assert_('numpy.linalg.eig' in out) Chris@87: Chris@87: Chris@87: @deprecate Chris@87: def old_func(self, x): Chris@87: return x Chris@87: Chris@87: Chris@87: @deprecate(message="Rather use new_func2") Chris@87: def old_func2(self, x): Chris@87: return x Chris@87: Chris@87: Chris@87: def old_func3(self, x): Chris@87: return x Chris@87: new_func3 = deprecate(old_func3, old_name="old_func3", new_name="new_func3") Chris@87: Chris@87: Chris@87: def test_deprecate_decorator(): Chris@87: assert_('deprecated' in old_func.__doc__) Chris@87: Chris@87: Chris@87: def test_deprecate_decorator_message(): Chris@87: assert_('Rather use new_func2' in old_func2.__doc__) Chris@87: Chris@87: Chris@87: def test_deprecate_fn(): Chris@87: assert_('old_func3' in new_func3.__doc__) Chris@87: assert_('new_func3' in new_func3.__doc__) Chris@87: Chris@87: Chris@87: def test_safe_eval_nameconstant(): Chris@87: # Test if safe_eval supports Python 3.4 _ast.NameConstant Chris@87: utils.safe_eval('None') Chris@87: Chris@87: Chris@87: def test_byte_bounds(): Chris@87: a = arange(12).reshape(3, 4) Chris@87: low, high = utils.byte_bounds(a) Chris@87: assert_equal(high - low, a.size * a.itemsize) Chris@87: Chris@87: Chris@87: if __name__ == "__main__": Chris@87: run_module_suite()