@@ -155,19 +155,20 @@ def test_hash_vs_equality(self):
155155 assert dtype == dtype2
156156 assert dtype2 == dtype
157157 assert dtype3 == dtype
158- assert dtype is dtype2
159- assert dtype2 is dtype
160- assert dtype3 is dtype
161158 assert hash (dtype ) == hash (dtype2 )
162159 assert hash (dtype ) == hash (dtype3 )
163160
161+ dtype4 = DatetimeTZDtype ("ns" , "US/Central" )
162+ assert dtype2 != dtype4
163+ assert hash (dtype2 ) != hash (dtype4 )
164+
164165 def test_construction (self ):
165166 pytest .raises (ValueError ,
166167 lambda : DatetimeTZDtype ('ms' , 'US/Eastern' ))
167168
168169 def test_subclass (self ):
169- a = DatetimeTZDtype ('datetime64[ns, US/Eastern]' )
170- b = DatetimeTZDtype ('datetime64[ns, CET]' )
170+ a = DatetimeTZDtype . construct_from_string ('datetime64[ns, US/Eastern]' )
171+ b = DatetimeTZDtype . construct_from_string ('datetime64[ns, CET]' )
171172
172173 assert issubclass (type (a ), type (a ))
173174 assert issubclass (type (a ), type (b ))
@@ -189,8 +190,6 @@ def test_compat(self):
189190 assert not is_datetime64_dtype ('datetime64[ns, US/Eastern]' )
190191
191192 def test_construction_from_string (self ):
192- result = DatetimeTZDtype ('datetime64[ns, US/Eastern]' )
193- assert is_dtype_equal (self .dtype , result )
194193 result = DatetimeTZDtype .construct_from_string (
195194 'datetime64[ns, US/Eastern]' )
196195 assert is_dtype_equal (self .dtype , result )
@@ -255,14 +254,13 @@ def test_dst(self):
255254 def test_parser (self , tz , constructor ):
256255 # pr #11245
257256 dtz_str = '{con}[ns, {tz}]' .format (con = constructor , tz = tz )
258- result = DatetimeTZDtype (dtz_str )
257+ result = DatetimeTZDtype . construct_from_string (dtz_str )
259258 expected = DatetimeTZDtype ('ns' , tz )
260259 assert result == expected
261260
262261 def test_empty (self ):
263- dt = DatetimeTZDtype ()
264- with pytest .raises (AttributeError ):
265- str (dt )
262+ with pytest .raises (TypeError , match = "A 'tz' is required." ):
263+ DatetimeTZDtype ()
266264
267265
268266class TestPeriodDtype (Base ):
@@ -795,34 +793,38 @@ def test_update_dtype_errors(self, bad_dtype):
795793 dtype .update_dtype (bad_dtype )
796794
797795
798- @pytest .mark .parametrize (
799- 'dtype' ,
800- [CategoricalDtype , IntervalDtype ])
796+ @pytest .mark .parametrize ('dtype' , [
797+ CategoricalDtype ,
798+ IntervalDtype ,
799+ ])
801800def test_registry (dtype ):
802801 assert dtype in registry .dtypes
803802
804803
805- @pytest .mark .parametrize ('dtype' , [DatetimeTZDtype , PeriodDtype ])
804+ @pytest .mark .parametrize ('dtype' , [
805+ PeriodDtype ,
806+ DatetimeTZDtype ,
807+ ])
806808def test_pandas_registry (dtype ):
807809 assert dtype not in registry .dtypes
808810 assert dtype in _pandas_registry .dtypes
809811
810812
811- @pytest .mark .parametrize (
812- 'dtype, expected' ,
813- [( 'int64 ' , None ),
814- ('interval' , IntervalDtype ()),
815- ('interval[int64] ' , IntervalDtype ()),
816- ( 'interval[datetime64[ns]] ' , IntervalDtype ( 'datetime64[ns]' )),
817- ( 'category' , CategoricalDtype ()) ])
813+ @pytest .mark .parametrize ('dtype, expected' , [
814+ ( 'int64' , None ) ,
815+ ( 'interval ' , IntervalDtype () ),
816+ ('interval[int64] ' , IntervalDtype ()),
817+ ('interval[datetime64[ns]] ' , IntervalDtype ('datetime64[ns]' )),
818+ ( 'category ' , CategoricalDtype ( )),
819+ ])
818820def test_registry_find (dtype , expected ):
819821 assert registry .find (dtype ) == expected
820822
821823
822- @pytest .mark .parametrize (
823- 'dtype, expected' ,
824- [( 'period[D ]' , PeriodDtype ( 'D ' )),
825- ( 'datetime64[ns, US/Eastern]' , DatetimeTZDtype ( 'ns' , 'US/Eastern' )) ])
824+ @pytest .mark .parametrize ('dtype, expected' , [
825+ ( 'period[D]' , PeriodDtype ( 'D' )) ,
826+ ( 'datetime64[ns, US/Eastern ]' , DatetimeTZDtype ( 'ns' , 'US/Eastern ' )),
827+ ])
826828def test_pandas_registry_find (dtype , expected ):
827829 assert _pandas_registry .find (dtype ) == expected
828830
0 commit comments