@@ -301,9 +301,7 @@ def test_isna_element_false(self) -> None:
301301 self .assertFalse (isna_element (datetime .date (2020 , 12 , 31 )))
302302 self .assertFalse (isna_element (False ))
303303
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 :
307305 dtypes = [
308306 np .longlong ,
309307 np .int_ ,
@@ -327,6 +325,7 @@ def test_dtype_from_element(self) -> None:
327325 for dtype in dtypes :
328326 self .assertEqual (dtype , dtype_from_element (dtype ()))
329327
328+ def test_dtype_from_element_str_and_misc_dtypes (self ) -> None :
330329 dtype_obj_pairs = [
331330 (np .dtype ('<U1' ), np .str_ ('1' )),
332331 (np .dtype ('<U1' ), np .unicode_ ('1' )),
@@ -339,6 +338,9 @@ def test_dtype_from_element(self) -> None:
339338 for dtype , obj in dtype_obj_pairs :
340339 self .assertEqual (dtype , dtype_from_element (obj ))
341340
341+ def test_dtype_from_element_obj_dtypes (self ) -> None :
342+ NT = collections .namedtuple ('NT' , tuple ('abc' ))
343+
342344 dtype_obj_pairs = [
343345 (np .int_ , 12 ),
344346 (np .float_ , 12.0 ),
@@ -354,12 +356,14 @@ def test_dtype_from_element(self) -> None:
354356 for dtype , obj in dtype_obj_pairs :
355357 self .assertEqual (dtype , dtype_from_element (obj ))
356358
359+ def test_dtype_from_element_time_dtypes (self ) -> None :
357360 # Datetime & Timedelta
358361 for precision in ['ns' , 'us' , 'ms' , 's' , 'm' , 'h' , 'D' , 'M' , 'Y' ]:
359362 for kind , ctor in (('m' , np .timedelta64 ), ('M' , np .datetime64 )):
360363 obj = ctor (12 , precision )
361364 self .assertEqual (np .dtype (f'<{ kind } 8[{ precision } ]' ), dtype_from_element (obj ))
362365
366+ def test_dtype_from_element_str_and_bytes_dtypes (self ) -> None :
363367 for size in (1 , 8 , 16 , 32 , 64 , 128 , 256 , 512 ):
364368 self .assertEqual (np .dtype (f'|S{ size } ' ), dtype_from_element (bytes (size )))
365369 self .assertEqual (np .dtype (f'<U{ size } ' ), dtype_from_element ('x' * size ))
0 commit comments