@@ -248,9 +248,10 @@ def test_anchored_shortcuts(self):
248248
249249 # ensure invalid cases fail as expected
250250 invalid_anchors = ['SM-0' , 'SM-28' , 'SM-29' ,
251- 'SM-FOO' , 'BSM' , 'SM--1'
251+ 'SM-FOO' , 'BSM' , 'SM--1' ,
252252 'SMS-1' , 'SMS-28' , 'SMS-30' ,
253- 'SMS-BAR' , 'BSMS' , 'SMS--2' ]
253+ 'SMS-BAR' , 'SMS-BYR' 'BSMS' ,
254+ 'SMS--2' ]
254255 for invalid_anchor in invalid_anchors :
255256 with tm .assert_raises_regex (ValueError ,
256257 'Invalid frequency: ' ):
@@ -292,11 +293,15 @@ def test_get_rule_month():
292293
293294 result = frequencies ._get_rule_month ('A-DEC' )
294295 assert (result == 'DEC' )
296+ result = frequencies ._get_rule_month ('Y-DEC' )
297+ assert (result == 'DEC' )
295298 result = frequencies ._get_rule_month (offsets .YearEnd ())
296299 assert (result == 'DEC' )
297300
298301 result = frequencies ._get_rule_month ('A-MAY' )
299302 assert (result == 'MAY' )
303+ result = frequencies ._get_rule_month ('Y-MAY' )
304+ assert (result == 'MAY' )
300305 result = frequencies ._get_rule_month (offsets .YearEnd (month = 5 ))
301306 assert (result == 'MAY' )
302307
@@ -305,6 +310,10 @@ def test_period_str_to_code():
305310 assert (frequencies ._period_str_to_code ('A' ) == 1000 )
306311 assert (frequencies ._period_str_to_code ('A-DEC' ) == 1000 )
307312 assert (frequencies ._period_str_to_code ('A-JAN' ) == 1001 )
313+ assert (frequencies ._period_str_to_code ('Y' ) == 1000 )
314+ assert (frequencies ._period_str_to_code ('Y-DEC' ) == 1000 )
315+ assert (frequencies ._period_str_to_code ('Y-JAN' ) == 1001 )
316+
308317 assert (frequencies ._period_str_to_code ('Q' ) == 2000 )
309318 assert (frequencies ._period_str_to_code ('Q-DEC' ) == 2000 )
310319 assert (frequencies ._period_str_to_code ('Q-FEB' ) == 2002 )
@@ -349,6 +358,10 @@ def test_freq_code(self):
349358 assert frequencies .get_freq ('3A' ) == 1000
350359 assert frequencies .get_freq ('-1A' ) == 1000
351360
361+ assert frequencies .get_freq ('Y' ) == 1000
362+ assert frequencies .get_freq ('3Y' ) == 1000
363+ assert frequencies .get_freq ('-1Y' ) == 1000
364+
352365 assert frequencies .get_freq ('W' ) == 4000
353366 assert frequencies .get_freq ('W-MON' ) == 4001
354367 assert frequencies .get_freq ('W-FRI' ) == 4005
@@ -369,6 +382,13 @@ def test_freq_group(self):
369382 assert frequencies .get_freq_group ('-1A' ) == 1000
370383 assert frequencies .get_freq_group ('A-JAN' ) == 1000
371384 assert frequencies .get_freq_group ('A-MAY' ) == 1000
385+
386+ assert frequencies .get_freq_group ('Y' ) == 1000
387+ assert frequencies .get_freq_group ('3Y' ) == 1000
388+ assert frequencies .get_freq_group ('-1Y' ) == 1000
389+ assert frequencies .get_freq_group ('Y-JAN' ) == 1000
390+ assert frequencies .get_freq_group ('Y-MAY' ) == 1000
391+
372392 assert frequencies .get_freq_group (offsets .YearEnd ()) == 1000
373393 assert frequencies .get_freq_group (offsets .YearEnd (month = 1 )) == 1000
374394 assert frequencies .get_freq_group (offsets .YearEnd (month = 5 )) == 1000
@@ -812,6 +832,7 @@ def test_legacy_offset_warnings(self):
812832 'W@FRI' , 'W@SAT' , 'W@SUN' , 'Q@JAN' , 'Q@FEB' , 'Q@MAR' ,
813833 'A@JAN' , 'A@FEB' , 'A@MAR' , 'A@APR' , 'A@MAY' , 'A@JUN' ,
814834 'A@JUL' , 'A@AUG' , 'A@SEP' , 'A@OCT' , 'A@NOV' , 'A@DEC' ,
835+ 'Y@JAN' ,
815836 'WOM@1MON' , 'WOM@2MON' , 'WOM@3MON' , 'WOM@4MON' ,
816837 'WOM@1TUE' , 'WOM@2TUE' , 'WOM@3TUE' , 'WOM@4TUE' ,
817838 'WOM@1WED' , 'WOM@2WED' , 'WOM@3WED' , 'WOM@4WED' ,
0 commit comments