@@ -771,7 +771,10 @@ def test_subscript_meta(self):
771
771
self .assertEqual (Callable [..., GenericMeta ].__args__ , (Ellipsis , GenericMeta ))
772
772
773
773
def test_generic_hashes (self ):
774
- import mod
774
+ try :
775
+ from test import mod_generics_cache
776
+ except ImportError : # for Python 3.4 and previous versions
777
+ import mod_generics_cache
775
778
class A (Generic [T ]):
776
779
...
777
780
@@ -780,34 +783,39 @@ class A(Generic[T]):
780
783
...
781
784
782
785
self .assertEqual (A , A )
783
- self .assertEqual (mod .A [str ], mod .A [str ])
786
+ self .assertEqual (mod_generics_cache .A [str ], mod_generics_cache .A [str ])
784
787
self .assertEqual (B .A , B .A )
785
- self .assertEqual (mod .B .A [B .A [str ]], mod .B .A [B .A [str ]])
788
+ self .assertEqual (mod_generics_cache .B .A [B .A [str ]],
789
+ mod_generics_cache .B .A [B .A [str ]])
786
790
787
791
self .assertNotEqual (A , B .A )
788
- self .assertNotEqual (A , mod .A )
789
- self .assertNotEqual (A , mod .B .A )
790
- self .assertNotEqual (B .A , mod .A )
791
- self .assertNotEqual (B .A , mod .B .A )
792
+ self .assertNotEqual (A , mod_generics_cache .A )
793
+ self .assertNotEqual (A , mod_generics_cache .B .A )
794
+ self .assertNotEqual (B .A , mod_generics_cache .A )
795
+ self .assertNotEqual (B .A , mod_generics_cache .B .A )
792
796
793
797
self .assertNotEqual (A [str ], B .A [str ])
794
798
self .assertNotEqual (A [List [Any ]], B .A [List [Any ]])
795
- self .assertNotEqual (A [str ], mod .A [str ])
796
- self .assertNotEqual (A [str ], mod .B .A [str ])
797
- self .assertNotEqual (B .A [int ], mod .A [int ])
798
- self .assertNotEqual (B .A [List [Any ]], mod .B .A [List [Any ]])
799
+ self .assertNotEqual (A [str ], mod_generics_cache .A [str ])
800
+ self .assertNotEqual (A [str ], mod_generics_cache .B .A [str ])
801
+ self .assertNotEqual (B .A [int ], mod_generics_cache .A [int ])
802
+ self .assertNotEqual (B .A [List [Any ]], mod_generics_cache .B .A [List [Any ]])
799
803
800
804
self .assertNotEqual (Tuple [A [str ]], Tuple [B .A [str ]])
801
805
self .assertNotEqual (Tuple [A [List [Any ]]], Tuple [B .A [List [Any ]]])
802
- self .assertNotEqual (Union [str , A [str ]], Union [str , mod .A [str ]])
803
- self .assertNotEqual (Union [A [str ], A [str ]], Union [A [str ], mod .A [str ]])
804
- self .assertNotEqual (typing .FrozenSet [A [str ]], typing .FrozenSet [mod .B .A [str ]])
806
+ self .assertNotEqual (Union [str , A [str ]], Union [str , mod_generics_cache .A [str ]])
807
+ self .assertNotEqual (Union [A [str ], A [str ]],
808
+ Union [A [str ], mod_generics_cache .A [str ]])
809
+ self .assertNotEqual (typing .FrozenSet [A [str ]],
810
+ typing .FrozenSet [mod_generics_cache .B .A [str ]])
805
811
806
812
if sys .version_info [:2 ] > (3 , 2 ):
807
813
self .assertTrue (repr (Tuple [A [str ]]).endswith ('<locals>.A[str]]' ))
808
814
self .assertTrue (repr (Tuple [B .A [str ]]).endswith ('<locals>.B.A[str]]' ))
809
- self .assertTrue (repr (Tuple [mod .A [str ]]).endswith ('mod.A[str]]' ))
810
- self .assertTrue (repr (Tuple [mod .B .A [str ]]).endswith ('mod.B.A[str]]' ))
815
+ self .assertTrue (repr (Tuple [mod_generics_cache .A [str ]])
816
+ .endswith ('mod_generics_cache.A[str]]' ))
817
+ self .assertTrue (repr (Tuple [mod_generics_cache .B .A [str ]])
818
+ .endswith ('mod_generics_cache.B.A[str]]' ))
811
819
812
820
def test_extended_generic_rules_eq (self ):
813
821
T = TypeVar ('T' )
0 commit comments