|
8 | 8 |
|
9 | 9 | from pandas.core.api import Timestamp
|
10 | 10 |
|
11 |
| -from pandas.tslib import period_asfreq |
| 11 | +from pandas.tslib import period_asfreq, period_ordinal |
12 | 12 |
|
13 | 13 | from pandas.tseries.frequencies import get_freq
|
14 | 14 |
|
@@ -254,6 +254,36 @@ def test_intraday_conversion_factors(self):
|
254 | 254 |
|
255 | 255 | self.assertEqual(period_asfreq(1, get_freq('U'), get_freq('N'), False), 1000)
|
256 | 256 |
|
| 257 | + def test_period_ordinal_start_values(self): |
| 258 | + # information for 1.1.1970 |
| 259 | + self.assertEqual(0, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('Y'))) |
| 260 | + self.assertEqual(0, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('M'))) |
| 261 | + self.assertEqual(1, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('W'))) |
| 262 | + self.assertEqual(0, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('D'))) |
| 263 | + self.assertEqual(0, period_ordinal(1970, 1, 1, 0, 0, 0, 0, 0, get_freq('B'))) |
| 264 | + |
| 265 | + def test_period_ordinal_week(self): |
| 266 | + self.assertEqual(1, period_ordinal(1970, 1, 4, 0, 0, 0, 0, 0, get_freq('W'))) |
| 267 | + self.assertEqual(2, period_ordinal(1970, 1, 5, 0, 0, 0, 0, 0, get_freq('W'))) |
| 268 | + |
| 269 | + self.assertEqual(2284, period_ordinal(2013, 10, 6, 0, 0, 0, 0, 0, get_freq('W'))) |
| 270 | + self.assertEqual(2285, period_ordinal(2013, 10, 7, 0, 0, 0, 0, 0, get_freq('W'))) |
| 271 | + |
| 272 | + def test_period_ordinal_business_day(self): |
| 273 | + # Thursday |
| 274 | + self.assertEqual(11415, period_ordinal(2013, 10, 3, 0, 0, 0, 0, 0, get_freq('B'))) |
| 275 | + # Friday |
| 276 | + self.assertEqual(11416, period_ordinal(2013, 10, 4, 0, 0, 0, 0, 0, get_freq('B'))) |
| 277 | + # Saturday |
| 278 | + self.assertEqual(11417, period_ordinal(2013, 10, 5, 0, 0, 0, 0, 0, get_freq('B'))) |
| 279 | + # Sunday |
| 280 | + self.assertEqual(11417, period_ordinal(2013, 10, 6, 0, 0, 0, 0, 0, get_freq('B'))) |
| 281 | + # Monday |
| 282 | + self.assertEqual(11417, period_ordinal(2013, 10, 7, 0, 0, 0, 0, 0, get_freq('B'))) |
| 283 | + # Tuesday |
| 284 | + self.assertEqual(11418, period_ordinal(2013, 10, 8, 0, 0, 0, 0, 0, get_freq('B'))) |
| 285 | + |
| 286 | + |
257 | 287 | if __name__ == '__main__':
|
258 | 288 | nose.runmodule(argv=[__file__, '-vvs', '-x', '--pdb', '--pdb-failure'],
|
259 | 289 | exit=False)
|
0 commit comments