5 from _typeshed import Self
6 from collections.abc import Set # equivalent to typing.AbstractSet, not builtins.set
7 from contextlib import AbstractContextManager
8 from types import TracebackType
26 from warnings import WarningMessage
28 if sys.version_info >= (3, 9):
29 from types import GenericAlias
31 _E = TypeVar("_E", bound=BaseException)
32 _FT = TypeVar("_FT", bound=Callable[..., Any])
34 if sys.version_info >= (3, 8):
35 def addModuleCleanup(__function: Callable[..., Any], *args: Any, **kwargs: Any) -> None: ...
36 def doModuleCleanups() -> None: ...
38 def expectedFailure(test_item: _FT) -> _FT: ...
39 def skip(reason: str) -> Callable[[_FT], _FT]: ...
40 def skipIf(condition: object, reason: str) -> Callable[[_FT], _FT]: ...
41 def skipUnless(condition: object, reason: str) -> Callable[[_FT], _FT]: ...
43 class SkipTest(Exception):
44 def __init__(self, reason: str) -> None: ...
47 failureException: Type[BaseException]
54 def __init__(self, methodName: str = ...) -> None: ...
55 def setUp(self) -> None: ...
56 def tearDown(self) -> None: ...
58 def setUpClass(cls) -> None: ...
60 def tearDownClass(cls) -> None: ...
61 def run(self, result: unittest.result.TestResult | None = ...) -> unittest.result.TestResult | None: ...
62 def __call__(self, result: unittest.result.TestResult | None = ...) -> unittest.result.TestResult | None: ...
63 def skipTest(self, reason: Any) -> None: ...
64 def subTest(self, msg: Any = ..., **params: Any) -> AbstractContextManager[None]: ...
65 def debug(self) -> None: ...
66 def _addSkip(self, result: unittest.result.TestResult, test_case: TestCase, reason: str) -> None: ...
67 def assertEqual(self, first: Any, second: Any, msg: Any = ...) -> None: ...
68 def assertNotEqual(self, first: Any, second: Any, msg: Any = ...) -> None: ...
69 def assertTrue(self, expr: Any, msg: Any = ...) -> None: ...
70 def assertFalse(self, expr: Any, msg: Any = ...) -> None: ...
71 def assertIs(self, expr1: Any, expr2: Any, msg: Any = ...) -> None: ...
72 def assertIsNot(self, expr1: Any, expr2: Any, msg: Any = ...) -> None: ...
73 def assertIsNone(self, obj: Any, msg: Any = ...) -> None: ...
74 def assertIsNotNone(self, obj: Any, msg: Any = ...) -> None: ...
75 def assertIn(self, member: Any, container: Iterable[Any] | Container[Any], msg: Any = ...) -> None: ...
76 def assertNotIn(self, member: Any, container: Iterable[Any] | Container[Any], msg: Any = ...) -> None: ...
77 def assertIsInstance(self, obj: Any, cls: type | Tuple[type, ...], msg: Any = ...) -> None: ...
78 def assertNotIsInstance(self, obj: Any, cls: type | Tuple[type, ...], msg: Any = ...) -> None: ...
79 def assertGreater(self, a: Any, b: Any, msg: Any = ...) -> None: ...
80 def assertGreaterEqual(self, a: Any, b: Any, msg: Any = ...) -> None: ...
81 def assertLess(self, a: Any, b: Any, msg: Any = ...) -> None: ...
82 def assertLessEqual(self, a: Any, b: Any, msg: Any = ...) -> None: ...
84 def assertRaises( # type: ignore
86 expected_exception: Type[BaseException] | Tuple[Type[BaseException], ...],
87 callable: Callable[..., Any],
92 def assertRaises(self, expected_exception: Type[_E] | Tuple[Type[_E], ...], msg: Any = ...) -> _AssertRaisesContext[_E]: ...
94 def assertRaisesRegex( # type: ignore
96 expected_exception: Type[BaseException] | Tuple[Type[BaseException], ...],
97 expected_regex: str | bytes | Pattern[str] | Pattern[bytes],
98 callable: Callable[..., Any],
103 def assertRaisesRegex(
105 expected_exception: Type[_E] | Tuple[Type[_E], ...],
106 expected_regex: str | bytes | Pattern[str] | Pattern[bytes],
108 ) -> _AssertRaisesContext[_E]: ...
110 def assertWarns( # type: ignore
111 self, expected_warning: Type[Warning] | Tuple[Type[Warning], ...], callable: Callable[..., Any], *args: Any, **kwargs: Any
114 def assertWarns(self, expected_warning: Type[Warning] | Tuple[Type[Warning], ...], msg: Any = ...) -> _AssertWarnsContext: ...
116 def assertWarnsRegex( # type: ignore
118 expected_warning: Type[Warning] | Tuple[Type[Warning], ...],
119 expected_regex: str | bytes | Pattern[str] | Pattern[bytes],
120 callable: Callable[..., Any],
125 def assertWarnsRegex(
127 expected_warning: Type[Warning] | Tuple[Type[Warning], ...],
128 expected_regex: str | bytes | Pattern[str] | Pattern[bytes],
130 ) -> _AssertWarnsContext: ...
131 def assertLogs(self, logger: str | logging.Logger | None = ..., level: int | str | None = ...) -> _AssertLogsContext: ...
133 def assertAlmostEqual(
134 self, first: float, second: float, places: int | None = ..., msg: Any = ..., delta: float | None = ...
137 def assertAlmostEqual(
139 first: datetime.datetime,
140 second: datetime.datetime,
141 places: int | None = ...,
143 delta: datetime.timedelta | None = ...,
146 def assertNotAlmostEqual(self, first: float, second: float, *, msg: Any = ...) -> None: ...
148 def assertNotAlmostEqual(self, first: float, second: float, places: int | None = ..., msg: Any = ...) -> None: ...
150 def assertNotAlmostEqual(self, first: float, second: float, *, msg: Any = ..., delta: float | None = ...) -> None: ...
152 def assertNotAlmostEqual(
154 first: datetime.datetime,
155 second: datetime.datetime,
156 places: int | None = ...,
158 delta: datetime.timedelta | None = ...,
160 def assertRegex(self, text: AnyStr, expected_regex: AnyStr | Pattern[AnyStr], msg: Any = ...) -> None: ...
161 def assertNotRegex(self, text: AnyStr, unexpected_regex: AnyStr | Pattern[AnyStr], msg: Any = ...) -> None: ...
162 def assertCountEqual(self, first: Iterable[Any], second: Iterable[Any], msg: Any = ...) -> None: ...
163 def addTypeEqualityFunc(self, typeobj: Type[Any], function: Callable[..., None]) -> None: ...
164 def assertMultiLineEqual(self, first: str, second: str, msg: Any = ...) -> None: ...
165 def assertSequenceEqual(
166 self, seq1: Sequence[Any], seq2: Sequence[Any], msg: Any = ..., seq_type: Type[Sequence[Any]] | None = ...
168 def assertListEqual(self, list1: list[Any], list2: list[Any], msg: Any = ...) -> None: ...
169 def assertTupleEqual(self, tuple1: Tuple[Any, ...], tuple2: Tuple[Any, ...], msg: Any = ...) -> None: ...
170 def assertSetEqual(self, set1: Set[object], set2: Set[object], msg: Any = ...) -> None: ...
171 def assertDictEqual(self, d1: Mapping[Any, object], d2: Mapping[Any, object], msg: Any = ...) -> None: ...
172 def fail(self, msg: Any = ...) -> NoReturn: ...
173 def countTestCases(self) -> int: ...
174 def defaultTestResult(self) -> unittest.result.TestResult: ...
175 def id(self) -> str: ...
176 def shortDescription(self) -> str | None: ...
177 if sys.version_info >= (3, 8):
178 def addCleanup(self, __function: Callable[..., Any], *args: Any, **kwargs: Any) -> None: ...
180 def addCleanup(self, function: Callable[..., Any], *args: Any, **kwargs: Any) -> None: ...
181 def doCleanups(self) -> None: ...
182 if sys.version_info >= (3, 8):
184 def addClassCleanup(cls, __function: Callable[..., Any], *args: Any, **kwargs: Any) -> None: ...
186 def doClassCleanups(cls) -> None: ...
187 def _formatMessage(self, msg: str | None, standardMsg: str) -> str: ... # undocumented
188 def _getAssertEqualityFunc(self, first: Any, second: Any) -> Callable[..., None]: ... # undocumented
189 if sys.version_info < (3, 11):
190 def failUnlessEqual(self, first: Any, second: Any, msg: Any = ...) -> None: ...
191 def assertEquals(self, first: Any, second: Any, msg: Any = ...) -> None: ...
192 def failIfEqual(self, first: Any, second: Any, msg: Any = ...) -> None: ...
193 def assertNotEquals(self, first: Any, second: Any, msg: Any = ...) -> None: ...
194 def failUnless(self, expr: bool, msg: Any = ...) -> None: ...
195 def assert_(self, expr: bool, msg: Any = ...) -> None: ...
196 def failIf(self, expr: bool, msg: Any = ...) -> None: ...
198 def failUnlessRaises( # type: ignore
200 exception: Type[BaseException] | Tuple[Type[BaseException], ...],
201 callable: Callable[..., Any] = ...,
206 def failUnlessRaises(self, exception: Type[_E] | Tuple[Type[_E], ...], msg: Any = ...) -> _AssertRaisesContext[_E]: ...
207 def failUnlessAlmostEqual(self, first: float, second: float, places: int = ..., msg: Any = ...) -> None: ...
208 def assertAlmostEquals(
209 self, first: float, second: float, places: int = ..., msg: Any = ..., delta: float = ...
211 def failIfAlmostEqual(self, first: float, second: float, places: int = ..., msg: Any = ...) -> None: ...
212 def assertNotAlmostEquals(
213 self, first: float, second: float, places: int = ..., msg: Any = ..., delta: float = ...
215 def assertRegexpMatches(self, text: AnyStr, regex: AnyStr | Pattern[AnyStr], msg: Any = ...) -> None: ...
216 def assertNotRegexpMatches(self, text: AnyStr, regex: AnyStr | Pattern[AnyStr], msg: Any = ...) -> None: ...
218 def assertRaisesRegexp( # type: ignore
220 exception: Type[BaseException] | Tuple[Type[BaseException], ...],
221 expected_regex: str | bytes | Pattern[str] | Pattern[bytes],
222 callable: Callable[..., Any],
227 def assertRaisesRegexp(
229 exception: Type[_E] | Tuple[Type[_E], ...],
230 expected_regex: str | bytes | Pattern[str] | Pattern[bytes],
232 ) -> _AssertRaisesContext[_E]: ...
233 def assertDictContainsSubset(
234 self, subset: Mapping[Any, Any], dictionary: Mapping[Any, Any], msg: object = ...
237 class FunctionTestCase(TestCase):
240 testFunc: Callable[[], None],
241 setUp: Callable[[], None] | None = ...,
242 tearDown: Callable[[], None] | None = ...,
243 description: str | None = ...,
245 def runTest(self) -> None: ...
247 class _LoggingWatcher(NamedTuple):
248 records: list[logging.LogRecord]
251 class _AssertRaisesContext(Generic[_E]):
253 def __enter__(self: Self) -> Self: ...
255 self, exc_type: Type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None
257 if sys.version_info >= (3, 9):
258 def __class_getitem__(cls, item: Any) -> GenericAlias: ...
260 class _AssertWarnsContext:
261 warning: WarningMessage
264 warnings: list[WarningMessage]
265 def __enter__(self: Self) -> Self: ...
267 self, exc_type: Type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None
270 class _AssertLogsContext:
272 records: list[logging.LogRecord]
274 def __init__(self, test_case: TestCase, logger_name: str, level: int) -> None: ...
275 if sys.version_info >= (3, 10):
276 def __enter__(self) -> _LoggingWatcher | None: ...
278 def __enter__(self) -> _LoggingWatcher: ...
280 self, exc_type: Type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None
281 ) -> bool | None: ...