@@ -367,28 +367,39 @@ def unique_nulls_fixture(request):
367
367
TIMEZONES = [None , 'UTC' , 'US/Eastern' , 'Asia/Tokyo' , 'dateutil/US/Pacific' ,
368
368
'dateutil/Asia/Singapore' , tzutc (), tzlocal (), FixedOffset (300 ),
369
369
FixedOffset (0 ), FixedOffset (- 300 )]
370
+ TIMEZONE_IDS = ['None' , 'UTC' , 'US/Eastern' , 'Asia/Tokyp' ,
371
+ 'dateutil/US/Pacific' , 'dateutil/Asia/Singapore' ,
372
+ 'dateutil.tz.tzutz()' , 'dateutil.tz.tzlocal()' ,
373
+ 'pytz.FixedOffset(300)' , 'pytz.FixedOffset(0)' ,
374
+ 'pytz.FixedOffset(-300)' ]
370
375
371
376
372
- @td .parametrize_fixture_doc (str (TIMEZONES ))
373
- @pytest .fixture (params = TIMEZONES )
377
+ @td .parametrize_fixture_doc (str (TIMEZONE_IDS ))
378
+ @pytest .fixture (params = TIMEZONES , ids = TIMEZONE_IDS )
374
379
def tz_naive_fixture (request ):
375
380
"""
376
381
Fixture for trying timezones including default (None): {0}
377
382
"""
378
383
return request .param
379
384
380
385
381
- @td .parametrize_fixture_doc (str (TIMEZONES [1 :]))
382
- @pytest .fixture (params = TIMEZONES [1 :])
386
+ @td .parametrize_fixture_doc (str (TIMEZONE_IDS [1 :]))
387
+ @pytest .fixture (params = TIMEZONES [1 :], ids = TIMEZONE_IDS [ 1 :] )
383
388
def tz_aware_fixture (request ):
384
389
"""
385
390
Fixture for trying explicit timezones: {0}
386
391
"""
387
392
return request .param
388
393
389
394
395
+ # Generate cartesian product of tz_aware_fixture:
396
+ tz_aware_fixture2 = tz_aware_fixture
397
+
398
+
390
399
# ----------------------------------------------------------------
391
400
# Dtypes
401
+
402
+
392
403
UNSIGNED_INT_DTYPES = ["uint8" , "uint16" , "uint32" , "uint64" ]
393
404
UNSIGNED_EA_INT_DTYPES = ["UInt8" , "UInt16" , "UInt32" , "UInt64" ]
394
405
SIGNED_INT_DTYPES = [int , "int8" , "int16" , "int32" , "int64" ]
@@ -400,16 +411,16 @@ def tz_aware_fixture(request):
400
411
COMPLEX_DTYPES = [complex , "complex64" , "complex128" ]
401
412
STRING_DTYPES = [str , 'str' , 'U' ]
402
413
403
- DATETIME_DTYPES = ['datetime64[ns]' , 'M8[ns]' ]
404
- TIMEDELTA_DTYPES = ['timedelta64[ns]' , 'm8[ns]' ]
414
+ DATETIME64_DTYPES = ['datetime64[ns]' , 'M8[ns]' ]
415
+ TIMEDELTA64_DTYPES = ['timedelta64[ns]' , 'm8[ns]' ]
405
416
406
417
BOOL_DTYPES = [bool , 'bool' ]
407
418
BYTES_DTYPES = [bytes , 'bytes' ]
408
419
OBJECT_DTYPES = [object , 'object' ]
409
420
410
421
ALL_REAL_DTYPES = FLOAT_DTYPES + ALL_INT_DTYPES
411
422
ALL_NUMPY_DTYPES = (ALL_REAL_DTYPES + COMPLEX_DTYPES + STRING_DTYPES
412
- + DATETIME_DTYPES + TIMEDELTA_DTYPES + BOOL_DTYPES
423
+ + DATETIME64_DTYPES + TIMEDELTA64_DTYPES + BOOL_DTYPES
413
424
+ OBJECT_DTYPES + BYTES_DTYPES * PY3 ) # bytes only for PY3
414
425
415
426
@@ -424,6 +435,46 @@ def string_dtype(request):
424
435
return request .param
425
436
426
437
438
+ @pytest .fixture (params = BYTES_DTYPES )
439
+ def bytes_dtype (request ):
440
+ """Parametrized fixture for bytes dtypes.
441
+
442
+ * bytes
443
+ * 'bytes'
444
+ """
445
+ return request .param
446
+
447
+
448
+ @pytest .fixture (params = OBJECT_DTYPES )
449
+ def object_dtype (request ):
450
+ """Parametrized fixture for object dtypes.
451
+
452
+ * object
453
+ * 'object'
454
+ """
455
+ return request .param
456
+
457
+
458
+ @pytest .fixture (params = DATETIME64_DTYPES )
459
+ def datetime64_dtype (request ):
460
+ """Parametrized fixture for datetime/timedelta dtypes.
461
+
462
+ * 'datetime64[ns]'
463
+ * 'M8[ns]'
464
+ """
465
+ return request .param
466
+
467
+
468
+ @pytest .fixture (params = TIMEDELTA64_DTYPES )
469
+ def timedelta64_dtype (request ):
470
+ """Parametrized fixture for datetime/timedelta dtypes.
471
+
472
+ * 'timedelta64[ns]'
473
+ * 'm8[ns]'
474
+ """
475
+ return request .param
476
+
477
+
427
478
@pytest .fixture (params = FLOAT_DTYPES )
428
479
def float_dtype (request ):
429
480
"""
0 commit comments