@@ -301,9 +301,7 @@ def test_isna_element_false(self) -> None:
301
301
self .assertFalse (isna_element (datetime .date (2020 , 12 , 31 )))
302
302
self .assertFalse (isna_element (False ))
303
303
304
- def test_dtype_from_element (self ) -> None :
305
- NT = collections .namedtuple ('NT' , tuple ('abc' ))
306
-
304
+ def test_dtype_from_element_core_dtypes (self ) -> None :
307
305
dtypes = [
308
306
np .longlong ,
309
307
np .int_ ,
@@ -327,6 +325,7 @@ def test_dtype_from_element(self) -> None:
327
325
for dtype in dtypes :
328
326
self .assertEqual (dtype , dtype_from_element (dtype ()))
329
327
328
+ def test_dtype_from_element_str_and_misc_dtypes (self ) -> None :
330
329
dtype_obj_pairs = [
331
330
(np .dtype ('<U1' ), np .str_ ('1' )),
332
331
(np .dtype ('<U1' ), np .unicode_ ('1' )),
@@ -339,6 +338,9 @@ def test_dtype_from_element(self) -> None:
339
338
for dtype , obj in dtype_obj_pairs :
340
339
self .assertEqual (dtype , dtype_from_element (obj ))
341
340
341
+ def test_dtype_from_element_obj_dtypes (self ) -> None :
342
+ NT = collections .namedtuple ('NT' , tuple ('abc' ))
343
+
342
344
dtype_obj_pairs = [
343
345
(np .int_ , 12 ),
344
346
(np .float_ , 12.0 ),
@@ -354,12 +356,14 @@ def test_dtype_from_element(self) -> None:
354
356
for dtype , obj in dtype_obj_pairs :
355
357
self .assertEqual (dtype , dtype_from_element (obj ))
356
358
359
+ def test_dtype_from_element_time_dtypes (self ) -> None :
357
360
# Datetime & Timedelta
358
361
for precision in ['ns' , 'us' , 'ms' , 's' , 'm' , 'h' , 'D' , 'M' , 'Y' ]:
359
362
for kind , ctor in (('m' , np .timedelta64 ), ('M' , np .datetime64 )):
360
363
obj = ctor (12 , precision )
361
364
self .assertEqual (np .dtype (f'<{ kind } 8[{ precision } ]' ), dtype_from_element (obj ))
362
365
366
+ def test_dtype_from_element_str_and_bytes_dtypes (self ) -> None :
363
367
for size in (1 , 8 , 16 , 32 , 64 , 128 , 256 , 512 ):
364
368
self .assertEqual (np .dtype (f'|S{ size } ' ), dtype_from_element (bytes (size )))
365
369
self .assertEqual (np .dtype (f'<U{ size } ' ), dtype_from_element ('x' * size ))
0 commit comments