@@ -1255,13 +1255,12 @@ def test_cftime_range(
1255
1255
assert np .max (np .abs (deltas )) < 0.001
1256
1256
1257
1257
1258
- def test_cftime_range_name ():
1259
- with pytest .warns (DeprecationWarning ):
1260
- result = cftime_range (start = "2000" , periods = 4 , name = "foo" )
1261
- assert result .name == "foo"
1258
+ def test_date_range_name ():
1259
+ result = date_range (start = "2000" , periods = 4 , name = "foo" )
1260
+ assert result .name == "foo"
1262
1261
1263
- result = cftime_range (start = "2000" , periods = 4 )
1264
- assert result .name is None
1262
+ result = date_range (start = "2000" , periods = 4 )
1263
+ assert result .name is None
1265
1264
1266
1265
1267
1266
@pytest .mark .parametrize (
@@ -1275,15 +1274,14 @@ def test_cftime_range_name():
1275
1274
("2000" , "2001" , 5 , "YE" , None ),
1276
1275
],
1277
1276
)
1278
- def test_invalid_cftime_range_inputs (
1277
+ def test_invalid_date_range_cftime_inputs (
1279
1278
start : str | None ,
1280
1279
end : str | None ,
1281
1280
periods : int | None ,
1282
1281
freq : str | None ,
1283
1282
inclusive : Literal ["up" , None ],
1284
1283
) -> None :
1285
- with pytest .raises (ValueError ), pytest .warns (DeprecationWarning ):
1286
- cftime_range (start , end , periods , freq , inclusive = inclusive ) # type: ignore[arg-type]
1284
+ date_range (start , end , periods , freq , inclusive = inclusive , use_cftime = True ) # type: ignore[arg-type]
1287
1285
1288
1286
1289
1287
_CALENDAR_SPECIFIC_MONTH_END_TESTS = [
@@ -1307,11 +1305,14 @@ def test_calendar_specific_month_end(
1307
1305
year = 2000 # Use a leap-year to highlight calendar differences
1308
1306
date_type = get_date_type (calendar )
1309
1307
expected = [date_type (year , * args ) for args in expected_month_day ]
1310
- with pytest .warns (DeprecationWarning ):
1311
- result = cftime_range (
1312
- start = "2000-02" , end = "2001" , freq = "2ME" , calendar = calendar
1313
- ).values
1314
- np .testing .assert_equal (result , expected )
1308
+ result = date_range (
1309
+ start = "2000-02" ,
1310
+ end = "2001" ,
1311
+ freq = "2ME" ,
1312
+ calendar = calendar ,
1313
+ use_cftime = True ,
1314
+ ).values
1315
+ np .testing .assert_equal (result , expected )
1315
1316
1316
1317
1317
1318
@pytest .mark .parametrize (
@@ -1325,14 +1326,10 @@ def test_calendar_specific_month_end_negative_freq(
1325
1326
year = 2000 # Use a leap-year to highlight calendar differences
1326
1327
date_type = get_date_type (calendar )
1327
1328
expected = [date_type (year , * args ) for args in expected_month_day [::- 1 ]]
1328
- with pytest .warns (DeprecationWarning ):
1329
- result = cftime_range (
1330
- start = "2001" ,
1331
- end = "2000" ,
1332
- freq = "-2ME" ,
1333
- calendar = calendar ,
1334
- ).values
1335
- np .testing .assert_equal (result , expected )
1329
+ result = date_range (
1330
+ start = "2001" , end = "2000" , freq = "-2ME" , calendar = calendar , use_cftime = True
1331
+ ).values
1332
+ np .testing .assert_equal (result , expected )
1336
1333
1337
1334
1338
1335
@pytest .mark .parametrize (
@@ -1355,37 +1352,35 @@ def test_calendar_specific_month_end_negative_freq(
1355
1352
def test_calendar_year_length (
1356
1353
calendar : str , start : str , end : str , expected_number_of_days : int
1357
1354
) -> None :
1358
- with pytest .warns (DeprecationWarning ):
1359
- result = cftime_range (start , end , freq = "D" , inclusive = "left" , calendar = calendar )
1360
- assert len (result ) == expected_number_of_days
1355
+ result = date_range (
1356
+ start , end , freq = "D" , inclusive = "left" , calendar = calendar , use_cftime = True
1357
+ )
1358
+ assert len (result ) == expected_number_of_days
1361
1359
1362
1360
1363
1361
@pytest .mark .parametrize ("freq" , ["YE" , "ME" , "D" ])
1364
- def test_dayofweek_after_cftime_range (freq : str ) -> None :
1365
- with pytest .warns (DeprecationWarning ):
1366
- result = cftime_range ("2000-02-01" , periods = 3 , freq = freq ).dayofweek
1367
- # TODO: remove once requiring pandas 2.2+
1368
- freq = _new_to_legacy_freq (freq )
1369
- expected = pd .date_range ("2000-02-01" , periods = 3 , freq = freq ).dayofweek
1370
- np .testing .assert_array_equal (result , expected )
1362
+ def test_dayofweek_after_cftime (freq : str ) -> None :
1363
+ result = date_range ("2000-02-01" , periods = 3 , freq = freq , use_cftime = True ).dayofweek
1364
+ # TODO: remove once requiring pandas 2.2+
1365
+ freq = _new_to_legacy_freq (freq )
1366
+ expected = pd .date_range ("2000-02-01" , periods = 3 , freq = freq ).dayofweek
1367
+ np .testing .assert_array_equal (result , expected )
1371
1368
1372
1369
1373
1370
@pytest .mark .parametrize ("freq" , ["YE" , "ME" , "D" ])
1374
- def test_dayofyear_after_cftime_range (freq : str ) -> None :
1375
- with pytest .warns (DeprecationWarning ):
1376
- result = cftime_range ("2000-02-01" , periods = 3 , freq = freq ).dayofyear
1377
- # TODO: remove once requiring pandas 2.2+
1378
- freq = _new_to_legacy_freq (freq )
1379
- expected = pd .date_range ("2000-02-01" , periods = 3 , freq = freq ).dayofyear
1380
- np .testing .assert_array_equal (result , expected )
1371
+ def test_dayofyear_after_cftime (freq : str ) -> None :
1372
+ result = date_range ("2000-02-01" , periods = 3 , freq = freq , use_cftime = True ).dayofyear
1373
+ # TODO: remove once requiring pandas 2.2+
1374
+ freq = _new_to_legacy_freq (freq )
1375
+ expected = pd .date_range ("2000-02-01" , periods = 3 , freq = freq ).dayofyear
1376
+ np .testing .assert_array_equal (result , expected )
1381
1377
1382
1378
1383
1379
def test_cftime_range_standard_calendar_refers_to_gregorian () -> None :
1384
1380
from cftime import DatetimeGregorian
1385
1381
1386
- with pytest .warns (DeprecationWarning ):
1387
- (result ,) = cftime_range ("2000" , periods = 1 )
1388
- assert isinstance (result , DatetimeGregorian )
1382
+ (result ,) = date_range ("2000" , periods = 1 , use_cftime = True )
1383
+ assert isinstance (result , DatetimeGregorian )
1389
1384
1390
1385
1391
1386
@pytest .mark .parametrize (
@@ -1702,16 +1697,15 @@ def test_cftime_range_same_as_pandas(start, end, freq) -> None:
1702
1697
)
1703
1698
def test_cftime_range_no_freq (start , end , periods ):
1704
1699
"""
1705
- Test whether cftime_range produces the same result as Pandas
1700
+ Test whether date_range produces the same result as Pandas
1706
1701
when freq is not provided, but start, end and periods are.
1707
1702
"""
1708
1703
# Generate date ranges using cftime_range
1709
- with pytest .warns (DeprecationWarning ):
1710
- cftimeindex = cftime_range (start = start , end = end , periods = periods )
1711
- result = cftimeindex .to_datetimeindex (time_unit = "ns" )
1712
- expected = pd .date_range (start = start , end = end , periods = periods )
1704
+ cftimeindex = date_range (start = start , end = end , periods = periods , use_cftime = True )
1705
+ result = cftimeindex .to_datetimeindex (time_unit = "ns" )
1706
+ expected = pd .date_range (start = start , end = end , periods = periods )
1713
1707
1714
- np .testing .assert_array_equal (result , expected )
1708
+ np .testing .assert_array_equal (result , expected )
1715
1709
1716
1710
1717
1711
@pytest .mark .parametrize (
0 commit comments