@@ -7223,10 +7223,29 @@ class Wrong(*bases):
7223
7223
pass
7224
7224
7225
7225
def test_is_typeddict (self ):
7226
- assert is_typeddict (Point2D ) is True
7227
- assert is_typeddict (Union [str , int ]) is False
7226
+ self . assertIs ( is_typeddict (Point2D ), True )
7227
+ self . assertIs ( is_typeddict (Union [str , int ]), False )
7228
7228
# classes, not instances
7229
- assert is_typeddict (Point2D ()) is False
7229
+ self .assertIs (is_typeddict (Point2D ()), False )
7230
+ call_based = TypedDict ('call_based' , {'a' : int })
7231
+ self .assertIs (is_typeddict (call_based ), True )
7232
+ self .assertIs (is_typeddict (call_based ()), False )
7233
+
7234
+ T = TypeVar ("T" )
7235
+ class BarGeneric (TypedDict , Generic [T ]):
7236
+ a : T
7237
+ self .assertIs (is_typeddict (BarGeneric ), True )
7238
+ self .assertIs (is_typeddict (BarGeneric [int ]), False )
7239
+ self .assertIs (is_typeddict (BarGeneric ()), False )
7240
+
7241
+ class NewGeneric [T ](TypedDict ):
7242
+ a : T
7243
+ self .assertIs (is_typeddict (NewGeneric ), True )
7244
+ self .assertIs (is_typeddict (NewGeneric [int ]), False )
7245
+ self .assertIs (is_typeddict (NewGeneric ()), False )
7246
+
7247
+ # The TypedDict constructor is not itself a TypedDict
7248
+ self .assertIs (is_typeddict (TypedDict ), False )
7230
7249
7231
7250
def test_get_type_hints (self ):
7232
7251
self .assertEqual (
0 commit comments