|
22 | 22 | else: |
23 | 23 | NP1 = np_version.startswith("1.") |
24 | 24 |
|
| 25 | +ASSUME_REVEALED_TYPES = [ |
| 26 | + ("assume(False)", "Never"), |
| 27 | + ("assume(None)", "Never"), |
| 28 | + ("assume(True)", "Literal[True]"), |
| 29 | + ("assume(1)", "Literal[True]"), |
| 30 | +] |
| 31 | + |
25 | 32 | REVEALED_TYPES = [ |
26 | 33 | ("integers()", "int"), |
27 | 34 | ("text()", "str"), |
@@ -202,4 +209,30 @@ class DifferingRevealedTypes(NamedTuple): |
202 | 209 | 'integer_array_indices(shape=(2, 3), dtype=np.dtype("uint8"))', |
203 | 210 | "tuple[ndarray[tuple[int, ...], dtype[unsignedinteger[_8Bit]]], ...]", |
204 | 211 | ), |
| 212 | + # basic_indices with allow_ellipsis=False (no EllipsisType differences) |
| 213 | + ( |
| 214 | + "basic_indices((3, 4), allow_ellipsis=False)", |
| 215 | + "int | slice[Any, Any, Any] | tuple[int | slice[Any, Any, Any], ...]", |
| 216 | + ), |
| 217 | +] |
| 218 | + |
| 219 | +# basic_indices tests where mypy/pyright differ in EllipsisType representation |
| 220 | +NUMPY_DIFF_REVEALED_TYPES = [ |
| 221 | + # mypy uses types.EllipsisType, pyright uses EllipsisType |
| 222 | + DifferingRevealedTypes( |
| 223 | + "basic_indices((3, 4))", |
| 224 | + "int | slice[Any, Any, Any] | types.EllipsisType | tuple[int | slice[Any, Any, Any] | types.EllipsisType, ...]", |
| 225 | + "int | slice[Any, Any, Any] | EllipsisType | tuple[int | slice[Any, Any, Any] | EllipsisType, ...]", |
| 226 | + ), |
| 227 | + # pyright also reorders None to the end |
| 228 | + DifferingRevealedTypes( |
| 229 | + "basic_indices((3, 4), allow_newaxis=True, allow_ellipsis=False)", |
| 230 | + "int | slice[Any, Any, Any] | None | tuple[int | slice[Any, Any, Any] | None, ...]", |
| 231 | + "int | slice[Any, Any, Any] | tuple[int | slice[Any, Any, Any] | None, ...] | None", |
| 232 | + ), |
| 233 | + DifferingRevealedTypes( |
| 234 | + "basic_indices((3, 4), allow_newaxis=True)", |
| 235 | + "int | slice[Any, Any, Any] | None | types.EllipsisType | tuple[int | slice[Any, Any, Any] | None | types.EllipsisType, ...]", |
| 236 | + "int | slice[Any, Any, Any] | EllipsisType | tuple[int | slice[Any, Any, Any] | EllipsisType | None, ...] | None", |
| 237 | + ), |
205 | 238 | ] |
0 commit comments