@@ -155,19 +155,20 @@ def test_hash_vs_equality(self):
155
155
assert dtype == dtype2
156
156
assert dtype2 == dtype
157
157
assert dtype3 == dtype
158
- assert dtype is dtype2
159
- assert dtype2 is dtype
160
- assert dtype3 is dtype
161
158
assert hash (dtype ) == hash (dtype2 )
162
159
assert hash (dtype ) == hash (dtype3 )
163
160
161
+ dtype4 = DatetimeTZDtype ("ns" , "US/Central" )
162
+ assert dtype2 != dtype4
163
+ assert hash (dtype2 ) != hash (dtype4 )
164
+
164
165
def test_construction (self ):
165
166
pytest .raises (ValueError ,
166
167
lambda : DatetimeTZDtype ('ms' , 'US/Eastern' ))
167
168
168
169
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]' )
171
172
172
173
assert issubclass (type (a ), type (a ))
173
174
assert issubclass (type (a ), type (b ))
@@ -189,8 +190,6 @@ def test_compat(self):
189
190
assert not is_datetime64_dtype ('datetime64[ns, US/Eastern]' )
190
191
191
192
def test_construction_from_string (self ):
192
- result = DatetimeTZDtype ('datetime64[ns, US/Eastern]' )
193
- assert is_dtype_equal (self .dtype , result )
194
193
result = DatetimeTZDtype .construct_from_string (
195
194
'datetime64[ns, US/Eastern]' )
196
195
assert is_dtype_equal (self .dtype , result )
@@ -255,14 +254,13 @@ def test_dst(self):
255
254
def test_parser (self , tz , constructor ):
256
255
# pr #11245
257
256
dtz_str = '{con}[ns, {tz}]' .format (con = constructor , tz = tz )
258
- result = DatetimeTZDtype (dtz_str )
257
+ result = DatetimeTZDtype . construct_from_string (dtz_str )
259
258
expected = DatetimeTZDtype ('ns' , tz )
260
259
assert result == expected
261
260
262
261
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 ()
266
264
267
265
268
266
class TestPeriodDtype (Base ):
@@ -795,34 +793,38 @@ def test_update_dtype_errors(self, bad_dtype):
795
793
dtype .update_dtype (bad_dtype )
796
794
797
795
798
- @pytest .mark .parametrize (
799
- 'dtype' ,
800
- [CategoricalDtype , IntervalDtype ])
796
+ @pytest .mark .parametrize ('dtype' , [
797
+ CategoricalDtype ,
798
+ IntervalDtype ,
799
+ ])
801
800
def test_registry (dtype ):
802
801
assert dtype in registry .dtypes
803
802
804
803
805
- @pytest .mark .parametrize ('dtype' , [DatetimeTZDtype , PeriodDtype ])
804
+ @pytest .mark .parametrize ('dtype' , [
805
+ PeriodDtype ,
806
+ DatetimeTZDtype ,
807
+ ])
806
808
def test_pandas_registry (dtype ):
807
809
assert dtype not in registry .dtypes
808
810
assert dtype in _pandas_registry .dtypes
809
811
810
812
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
+ ])
818
820
def test_registry_find (dtype , expected ):
819
821
assert registry .find (dtype ) == expected
820
822
821
823
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
+ ])
826
828
def test_pandas_registry_find (dtype , expected ):
827
829
assert _pandas_registry .find (dtype ) == expected
828
830
0 commit comments