Skip to content

Commit b0c1556

Browse files
ilevkivskyiIvan Levkivskyi
and
Ivan Levkivskyi
authored
Fix typeshed regression in unittest (#13092)
Fixes #13090 Co-authored-by: Ivan Levkivskyi <[email protected]>
1 parent ce891e3 commit b0c1556

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

mypy/typeshed/stdlib/_typeshed/__init__.pyi

+3
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ class SupportsRAdd(Protocol[_T_contra, _T_co]):
7878
class SupportsSub(Protocol[_T_contra, _T_co]):
7979
def __sub__(self, __x: _T_contra) -> _T_co: ...
8080

81+
class SupportsRSub(Protocol[_T_contra, _T_co]):
82+
def __rsub__(self, __x: _T_contra) -> _T_co: ...
83+
8184
class SupportsDivMod(Protocol[_T_contra, _T_co]):
8285
def __divmod__(self, __other: _T_contra) -> _T_co: ...
8386

mypy/typeshed/stdlib/unittest/case.pyi

+19-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logging
22
import sys
33
import unittest.result
4-
from _typeshed import Self, SupportsDunderGE, SupportsSub
4+
from _typeshed import Self, SupportsDunderGE, SupportsRSub, SupportsSub
55
from collections.abc import Callable, Container, Iterable, Mapping, Sequence, Set as AbstractSet
66
from contextlib import AbstractContextManager
77
from types import TracebackType
@@ -196,6 +196,15 @@ class TestCase:
196196
delta: None = ...,
197197
) -> None: ...
198198
@overload
199+
def assertAlmostEqual(
200+
self,
201+
first: _T,
202+
second: SupportsRSub[_T, SupportsAbs[SupportsRound[object]]],
203+
places: int | None = ...,
204+
msg: Any = ...,
205+
delta: None = ...,
206+
) -> None: ...
207+
@overload
199208
def assertNotAlmostEqual(self, first: _S, second: _S, places: None, msg: Any, delta: _SupportsAbsAndDunderGE) -> None: ...
200209
@overload
201210
def assertNotAlmostEqual(
@@ -210,6 +219,15 @@ class TestCase:
210219
msg: Any = ...,
211220
delta: None = ...,
212221
) -> None: ...
222+
@overload
223+
def assertNotAlmostEqual(
224+
self,
225+
first: _T,
226+
second: SupportsRSub[_T, SupportsAbs[SupportsRound[object]]],
227+
places: int | None = ...,
228+
msg: Any = ...,
229+
delta: None = ...,
230+
) -> None: ...
213231
def assertRegex(self, text: AnyStr, expected_regex: AnyStr | Pattern[AnyStr], msg: Any = ...) -> None: ...
214232
def assertNotRegex(self, text: AnyStr, unexpected_regex: AnyStr | Pattern[AnyStr], msg: Any = ...) -> None: ...
215233
def assertCountEqual(self, first: Iterable[Any], second: Iterable[Any], msg: Any = ...) -> None: ...

0 commit comments

Comments
 (0)