@@ -268,53 +268,49 @@ def test_isna() -> None:
268
268
if pd .notna (nullable1 ):
269
269
check (assert_type (nullable1 , str ), str )
270
270
if not pd .isna (nullable1 ):
271
- # TODO: This is the true type (see comments above on the limitations of TypeGuard)
272
- # check(assert_type(nullable1, str), str)
271
+ # check(assert_type(nullable1, str), str) # TODO: Desired result (see comments above)
273
272
check (assert_type (nullable1 , Union [str , NaTType , NAType , None ]), str )
274
273
if pd .isna (nullable1 ):
275
274
assert_type (nullable1 , Union [NaTType , NAType , None ])
276
275
if not pd .notna (nullable1 ):
277
- # TODO: This is the true type (see comments above on the limitations of TypeGuard)
278
- # assert_type(nullable1, Union[NaTType, NAType, None])
276
+ # assert_type(nullable1, Union[NaTType, NAType, None]) # TODO: Desired result (see comments above)
279
277
assert_type (nullable1 , Union [str , NaTType , NAType , None ])
280
278
281
279
nullable2 = random .choice ([2 , None ])
282
280
if pd .notna (nullable2 ):
283
281
check (assert_type (nullable2 , int ), int )
284
282
if not pd .isna (nullable2 ):
285
- # TODO: This is the true type (see comments above on the limitations of TypeGuard)
286
- # check(assert_type(nullable2, int), int)
283
+ # check(assert_type(nullable2, int), int) # TODO: Desired result (see comments above)
287
284
check (assert_type (nullable2 , Union [int , None ]), int )
288
285
if pd .isna (nullable2 ):
289
- # TODO: This is the true type (see comments above on the limitations of TypeGuard)
290
- # check(assert_type(nullable2, None), type(None))
286
+ # check(assert_type(nullable2, None), type(None)) # TODO: Desired result (see comments above)
291
287
check (assert_type (nullable2 , Union [NaTType , NAType , None ]), type (None ))
292
288
if not pd .notna (nullable2 ):
293
- # TODO: This is the true type (see comments above on the limitations of TypeGuard)
294
- # check(assert_type(nullable2, None), type(None))
295
- assert_type (nullable2 , Union [int , None ]) # TODO: MyPy result
296
- assert_type (
297
- nullable2 , Union [int , NaTType , NAType , None ]
298
- ) # TODO: Pyright result
289
+ # check(assert_type(nullable2, None), type(None)) # TODO: Desired result (see comments above)
290
+ # TODO: MyPy and Pyright produce conflicting results:
291
+ # assert_type(nullable2, Union[int, None]) # MyPy result
292
+ # assert_type(
293
+ # nullable2, Union[int, NaTType, NAType, None]
294
+ # ) # Pyright result
295
+ pass
299
296
300
297
nullable3 = random .choice ([True , None , pd .NA ])
301
298
if pd .notna (nullable3 ):
302
299
check (assert_type (nullable3 , bool ), bool )
303
300
if not pd .isna (nullable3 ):
304
- # TODO: This is the true type (see comments above on the limitations of TypeGuard)
305
- # check(assert_type(nullable3, bool), bool)
301
+ # check(assert_type(nullable3, bool), bool) # TODO: Desired result (see comments above)
306
302
check (assert_type (nullable3 , Union [bool , NAType , None ]), bool )
307
303
if pd .isna (nullable3 ):
308
- # TODO: This is the true type (see comments above on the limitations of TypeGuard)
309
- # assert_type(nullable3, Union[NAType, None])
304
+ # assert_type(nullable3, Union[NAType, None]) # TODO: Desired result (see comments above)
310
305
assert_type (nullable3 , Union [NaTType , NAType , None ])
311
306
if not pd .notna (nullable3 ):
312
- # TODO: This is the true type (see comments above on the limitations of TypeGuard)
313
- # assert_type(nullable3, Union[NAType, None])
314
- assert_type (nullable3 , Union [bool , NAType , None ]) # TODO: Mypy result
315
- assert_type (
316
- nullable3 , Union [bool , NaTType , NAType , None ]
317
- ) # TODO: Pyright result
307
+ # assert_type(nullable3, Union[NAType, None]) # TODO: Desired result (see comments above)
308
+ # TODO: MyPy and Pyright produce conflicting results:
309
+ # assert_type(nullable3, Union[bool, NAType, None]) # Mypy result
310
+ # assert_type(
311
+ # nullable3, Union[bool, NaTType, NAType, None]
312
+ # ) # Pyright result
313
+ pass
318
314
319
315
320
316
# GH 55
0 commit comments