testing.pyi 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. from __future__ import annotations
  2. import re
  3. import sys
  4. from collections.abc import Callable
  5. from typing import Any, TypeVar
  6. from pathlib import Path
  7. import numpy as np
  8. import numpy.typing as npt
  9. AR_f8: npt.NDArray[np.float64]
  10. AR_i8: npt.NDArray[np.int64]
  11. bool_obj: bool
  12. suppress_obj: np.testing.suppress_warnings
  13. FT = TypeVar("FT", bound=Callable[..., Any])
  14. def func() -> int: ...
  15. def func2(
  16. x: npt.NDArray[np.number[Any]],
  17. y: npt.NDArray[np.number[Any]],
  18. ) -> npt.NDArray[np.bool_]: ...
  19. reveal_type(np.testing.KnownFailureException()) # E: KnownFailureException
  20. reveal_type(np.testing.IgnoreException()) # E: IgnoreException
  21. reveal_type(np.testing.clear_and_catch_warnings(modules=[np.testing])) # E: _clear_and_catch_warnings_without_records
  22. reveal_type(np.testing.clear_and_catch_warnings(True)) # E: _clear_and_catch_warnings_with_records
  23. reveal_type(np.testing.clear_and_catch_warnings(False)) # E: _clear_and_catch_warnings_without_records
  24. reveal_type(np.testing.clear_and_catch_warnings(bool_obj)) # E: clear_and_catch_warnings
  25. reveal_type(np.testing.clear_and_catch_warnings.class_modules) # E: tuple[types.ModuleType, ...]
  26. reveal_type(np.testing.clear_and_catch_warnings.modules) # E: set[types.ModuleType]
  27. with np.testing.clear_and_catch_warnings(True) as c1:
  28. reveal_type(c1) # E: builtins.list[warnings.WarningMessage]
  29. with np.testing.clear_and_catch_warnings() as c2:
  30. reveal_type(c2) # E: None
  31. reveal_type(np.testing.suppress_warnings("once")) # E: suppress_warnings
  32. reveal_type(np.testing.suppress_warnings()(func)) # E: def () -> builtins.int
  33. reveal_type(suppress_obj.filter(RuntimeWarning)) # E: None
  34. reveal_type(suppress_obj.record(RuntimeWarning)) # E: list[warnings.WarningMessage]
  35. with suppress_obj as c3:
  36. reveal_type(c3) # E: suppress_warnings
  37. reveal_type(np.testing.verbose) # E: int
  38. reveal_type(np.testing.IS_PYPY) # E: bool
  39. reveal_type(np.testing.HAS_REFCOUNT) # E: bool
  40. reveal_type(np.testing.HAS_LAPACK64) # E: bool
  41. reveal_type(np.testing.assert_(1, msg="test")) # E: None
  42. reveal_type(np.testing.assert_(2, msg=lambda: "test")) # E: None
  43. if sys.platform == "win32" or sys.platform == "cygwin":
  44. reveal_type(np.testing.memusage()) # E: builtins.int
  45. elif sys.platform == "linux":
  46. reveal_type(np.testing.memusage()) # E: Union[None, builtins.int]
  47. else:
  48. reveal_type(np.testing.memusage()) # E: <nothing>
  49. reveal_type(np.testing.jiffies()) # E: builtins.int
  50. reveal_type(np.testing.build_err_msg([0, 1, 2], "test")) # E: str
  51. reveal_type(np.testing.build_err_msg(range(2), "test", header="header")) # E: str
  52. reveal_type(np.testing.build_err_msg(np.arange(9).reshape(3, 3), "test", verbose=False)) # E: str
  53. reveal_type(np.testing.build_err_msg("abc", "test", names=["x", "y"])) # E: str
  54. reveal_type(np.testing.build_err_msg([1.0, 2.0], "test", precision=5)) # E: str
  55. reveal_type(np.testing.assert_equal({1}, {1})) # E: None
  56. reveal_type(np.testing.assert_equal([1, 2, 3], [1, 2, 3], err_msg="fail")) # E: None
  57. reveal_type(np.testing.assert_equal(1, 1.0, verbose=True)) # E: None
  58. reveal_type(np.testing.print_assert_equal('Test XYZ of func xyz', [0, 1], [0, 1])) # E: None
  59. reveal_type(np.testing.assert_almost_equal(1.0, 1.1)) # E: None
  60. reveal_type(np.testing.assert_almost_equal([1, 2, 3], [1, 2, 3], err_msg="fail")) # E: None
  61. reveal_type(np.testing.assert_almost_equal(1, 1.0, verbose=True)) # E: None
  62. reveal_type(np.testing.assert_almost_equal(1, 1.0001, decimal=2)) # E: None
  63. reveal_type(np.testing.assert_approx_equal(1.0, 1.1)) # E: None
  64. reveal_type(np.testing.assert_approx_equal("1", "2", err_msg="fail")) # E: None
  65. reveal_type(np.testing.assert_approx_equal(1, 1.0, verbose=True)) # E: None
  66. reveal_type(np.testing.assert_approx_equal(1, 1.0001, significant=2)) # E: None
  67. reveal_type(np.testing.assert_array_compare(func2, AR_i8, AR_f8, err_msg="test")) # E: None
  68. reveal_type(np.testing.assert_array_compare(func2, AR_i8, AR_f8, verbose=True)) # E: None
  69. reveal_type(np.testing.assert_array_compare(func2, AR_i8, AR_f8, header="header")) # E: None
  70. reveal_type(np.testing.assert_array_compare(func2, AR_i8, AR_f8, precision=np.int64())) # E: None
  71. reveal_type(np.testing.assert_array_compare(func2, AR_i8, AR_f8, equal_nan=False)) # E: None
  72. reveal_type(np.testing.assert_array_compare(func2, AR_i8, AR_f8, equal_inf=True)) # E: None
  73. reveal_type(np.testing.assert_array_equal(AR_i8, AR_f8)) # E: None
  74. reveal_type(np.testing.assert_array_equal(AR_i8, AR_f8, err_msg="test")) # E: None
  75. reveal_type(np.testing.assert_array_equal(AR_i8, AR_f8, verbose=True)) # E: None
  76. reveal_type(np.testing.assert_array_almost_equal(AR_i8, AR_f8)) # E: None
  77. reveal_type(np.testing.assert_array_almost_equal(AR_i8, AR_f8, err_msg="test")) # E: None
  78. reveal_type(np.testing.assert_array_almost_equal(AR_i8, AR_f8, verbose=True)) # E: None
  79. reveal_type(np.testing.assert_array_almost_equal(AR_i8, AR_f8, decimal=1)) # E: None
  80. reveal_type(np.testing.assert_array_less(AR_i8, AR_f8)) # E: None
  81. reveal_type(np.testing.assert_array_less(AR_i8, AR_f8, err_msg="test")) # E: None
  82. reveal_type(np.testing.assert_array_less(AR_i8, AR_f8, verbose=True)) # E: None
  83. reveal_type(np.testing.runstring("1 + 1", {})) # E: Any
  84. reveal_type(np.testing.runstring("int64() + 1", {"int64": np.int64})) # E: Any
  85. reveal_type(np.testing.assert_string_equal("1", "1")) # E: None
  86. reveal_type(np.testing.rundocs()) # E: None
  87. reveal_type(np.testing.rundocs("test.py")) # E: None
  88. reveal_type(np.testing.rundocs(Path("test.py"), raise_on_error=True)) # E: None
  89. @np.testing.raises(RuntimeError, RuntimeWarning)
  90. def func3(a: int) -> bool: ...
  91. reveal_type(func3) # E: def (a: builtins.int) -> builtins.bool
  92. reveal_type(np.testing.assert_raises(RuntimeWarning)) # E: _AssertRaisesContext[builtins.RuntimeWarning]
  93. reveal_type(np.testing.assert_raises(RuntimeWarning, func3, 5)) # E: None
  94. reveal_type(np.testing.assert_raises_regex(RuntimeWarning, r"test")) # E: _AssertRaisesContext[builtins.RuntimeWarning]
  95. reveal_type(np.testing.assert_raises_regex(RuntimeWarning, b"test", func3, 5)) # E: None
  96. reveal_type(np.testing.assert_raises_regex(RuntimeWarning, re.compile(b"test"), func3, 5)) # E: None
  97. class Test: ...
  98. def decorate(a: FT) -> FT:
  99. return a
  100. reveal_type(np.testing.decorate_methods(Test, decorate)) # E: None
  101. reveal_type(np.testing.decorate_methods(Test, decorate, None)) # E: None
  102. reveal_type(np.testing.decorate_methods(Test, decorate, "test")) # E: None
  103. reveal_type(np.testing.decorate_methods(Test, decorate, b"test")) # E: None
  104. reveal_type(np.testing.decorate_methods(Test, decorate, re.compile("test"))) # E: None
  105. reveal_type(np.testing.measure("for i in range(1000): np.sqrt(i**2)")) # E: float
  106. reveal_type(np.testing.measure(b"for i in range(1000): np.sqrt(i**2)", times=5)) # E: float
  107. reveal_type(np.testing.assert_allclose(AR_i8, AR_f8)) # E: None
  108. reveal_type(np.testing.assert_allclose(AR_i8, AR_f8, rtol=0.005)) # E: None
  109. reveal_type(np.testing.assert_allclose(AR_i8, AR_f8, atol=1)) # E: None
  110. reveal_type(np.testing.assert_allclose(AR_i8, AR_f8, equal_nan=True)) # E: None
  111. reveal_type(np.testing.assert_allclose(AR_i8, AR_f8, err_msg="err")) # E: None
  112. reveal_type(np.testing.assert_allclose(AR_i8, AR_f8, verbose=False)) # E: None
  113. reveal_type(np.testing.assert_array_almost_equal_nulp(AR_i8, AR_f8, nulp=2)) # E: None
  114. reveal_type(np.testing.assert_array_max_ulp(AR_i8, AR_f8, maxulp=2)) # E: ndarray[Any, dtype[Any]]
  115. reveal_type(np.testing.assert_array_max_ulp(AR_i8, AR_f8, dtype=np.float32)) # E: ndarray[Any, dtype[Any]]
  116. reveal_type(np.testing.assert_warns(RuntimeWarning)) # E: _GeneratorContextManager[None]
  117. reveal_type(np.testing.assert_warns(RuntimeWarning, func3, 5)) # E: bool
  118. def func4(a: int, b: str) -> bool: ...
  119. reveal_type(np.testing.assert_no_warnings()) # E: _GeneratorContextManager[None]
  120. reveal_type(np.testing.assert_no_warnings(func3, 5)) # E: bool
  121. reveal_type(np.testing.assert_no_warnings(func4, a=1, b="test")) # E: bool
  122. reveal_type(np.testing.assert_no_warnings(func4, 1, "test")) # E: bool
  123. reveal_type(np.testing.tempdir("test_dir")) # E: _GeneratorContextManager[builtins.str]
  124. reveal_type(np.testing.tempdir(prefix=b"test")) # E: _GeneratorContextManager[builtins.bytes]
  125. reveal_type(np.testing.tempdir("test_dir", dir=Path("here"))) # E: _GeneratorContextManager[builtins.str]
  126. reveal_type(np.testing.temppath("test_dir", text=True)) # E: _GeneratorContextManager[builtins.str]
  127. reveal_type(np.testing.temppath(prefix=b"test")) # E: _GeneratorContextManager[builtins.bytes]
  128. reveal_type(np.testing.temppath("test_dir", dir=Path("here"))) # E: _GeneratorContextManager[builtins.str]
  129. reveal_type(np.testing.assert_no_gc_cycles()) # E: _GeneratorContextManager[None]
  130. reveal_type(np.testing.assert_no_gc_cycles(func3, 5)) # E: None
  131. reveal_type(np.testing.break_cycles()) # E: None
  132. reveal_type(np.testing.TestCase()) # E: unittest.case.TestCase
  133. reveal_type(np.testing.run_module_suite(file_to_run="numpy/tests/test_matlib.py")) # E: None