diff options
Diffstat (limited to 'python/tests/test_dates.py')
| -rw-r--r-- | python/tests/test_dates.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/python/tests/test_dates.py b/python/tests/test_dates.py new file mode 100644 index 00000000..860d9426 --- /dev/null +++ b/python/tests/test_dates.py @@ -0,0 +1,53 @@ +import unittest +import datetime +import pandas as pd + +import sys +sys.path.append('..') +from analytics.utils import * + +class TestStartDate(unittest.TestCase): + + def test_previous_twentieth(self): + self.assertEqual(previous_twentieth(datetime.date(2016, 9, 20)), + datetime.date(2016, 9, 20)) + self.assertEqual(previous_twentieth(datetime.date(2016, 10, 15)), + datetime.date(2016, 9, 20)) + self.assertEqual(previous_twentieth(datetime.date(2016, 12, 20)), + datetime.date(2016, 12, 20)) + self.assertEqual(previous_twentieth(datetime.date(2017, 3, 19)), + datetime.date(2016, 12, 20)) + + def test_previous_twentieth_timestamp(self): + self.assertEqual(previous_twentieth(pd.Timestamp('2016-09-20')), + pd.Timestamp('2016-09-20')) + self.assertEqual(previous_twentieth(pd.Timestamp('2016-10-15')), + pd.Timestamp('2016-09-20')) + self.assertEqual(previous_twentieth(pd.Timestamp('2016-12-20')), + pd.Timestamp('2016-12-20')) + self.assertEqual(previous_twentieth(pd.Timestamp('2017-03-19')), + pd.Timestamp('2016-12-20')) + +class TestEndDate(unittest.TestCase): + def test_enddate(self): + self.assertEqual(roll_date(datetime.date(2016, 9, 20), 5), + datetime.date(2021, 12, 20)) + self.assertEqual(roll_date(datetime.date(2016, 10, 15), 5), + datetime.date(2021, 12, 20)) + self.assertEqual(roll_date(datetime.date(2017, 3, 19), 5), + datetime.date(2021, 12, 20)) + self.assertEqual(roll_date(datetime.date(2017, 3, 20), 5), + datetime.date(2022, 6, 20)) + + def test_enddate_pre2015(self): + self.assertEqual(roll_date(datetime.date(2014, 9, 20), 5), + datetime.date(2019, 12, 20)) + self.assertEqual(roll_date(datetime.date(2014, 10, 15), 5), + datetime.date(2019, 12, 20)) + self.assertEqual(roll_date(datetime.date(2015, 3, 19), 5), + datetime.date(2020, 3, 20)) + self.assertEqual(roll_date(datetime.date(2015, 3, 20), 5), + datetime.date(2020, 6, 20)) + +if __name__=="__main__": + unittest.main() |
