diff options
Diffstat (limited to 'python/tests')
| -rw-r--r-- | python/tests/test_dates.py | 209 |
1 files changed, 125 insertions, 84 deletions
diff --git a/python/tests/test_dates.py b/python/tests/test_dates.py index 85d631f8..0a4078ba 100644 --- a/python/tests/test_dates.py +++ b/python/tests/test_dates.py @@ -3,118 +3,159 @@ import datetime import pandas as pd import sys -sys.path.append('..') + +sys.path.append("..") from analytics.utils import roll_date from analytics.tranche_functions import cds_accrued -from pyisda.date import (roll_date as roll_date_c, - cds_accrued as cds_accrued_c, - previous_twentieth, - pydate_to_TDate, - TDate_to_pydate) +from pyisda.date import ( + roll_date as roll_date_c, + cds_accrued as cds_accrued_c, + previous_twentieth, + pydate_to_TDate, + TDate_to_pydate, +) from dates import days_accrued -class TestStartDate(unittest.TestCase): +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, 6, 10)), - datetime.date(2016, 3, 21)) - self.assertEqual(previous_twentieth(datetime.date(2016, 6, 10), False), - datetime.date(2016, 3, 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)) + self.assertEqual( + previous_twentieth(datetime.date(2016, 9, 20)), datetime.date(2016, 9, 20) + ) + self.assertEqual( + previous_twentieth(datetime.date(2016, 6, 10)), datetime.date(2016, 3, 21) + ) + self.assertEqual( + previous_twentieth(datetime.date(2016, 6, 10), False), + datetime.date(2016, 3, 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')), - datetime.date(2016, 9, 20)) - self.assertEqual(previous_twentieth(pd.Timestamp('2016-10-15')), - datetime.date(2016, 9, 20)) - self.assertEqual(previous_twentieth(pd.Timestamp('2016-12-20')), - datetime.date(2016, 12, 20)) - self.assertEqual(previous_twentieth(pd.Timestamp('2017-03-19')), - datetime.date(2016, 12, 20)) + self.assertEqual( + previous_twentieth(pd.Timestamp("2016-09-20")), datetime.date(2016, 9, 20) + ) + self.assertEqual( + previous_twentieth(pd.Timestamp("2016-10-15")), datetime.date(2016, 9, 20) + ) + self.assertEqual( + previous_twentieth(pd.Timestamp("2016-12-20")), datetime.date(2016, 12, 20) + ) + self.assertEqual( + previous_twentieth(pd.Timestamp("2017-03-19")), datetime.date(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)) + 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)) - self.assertEqual(roll_date(datetime.date(2015, 12, 19), 5), - datetime.date(2020, 12, 20)) - self.assertEqual(roll_date(datetime.date(2015, 12, 20), 5), - datetime.date(2020, 12, 20)) + 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) + ) + self.assertEqual( + roll_date(datetime.date(2015, 12, 19), 5), datetime.date(2020, 12, 20) + ) + self.assertEqual( + roll_date(datetime.date(2015, 12, 20), 5), datetime.date(2020, 12, 20) + ) class TestEndDateC(unittest.TestCase): def test_enddate(self): - self.assertEqual(roll_date_c(datetime.date(2016, 9, 20), 5), - datetime.date(2021, 12, 20)) - self.assertEqual(roll_date_c(datetime.date(2016, 10, 15), 5), - datetime.date(2021, 12, 20)) - self.assertEqual(roll_date_c(datetime.date(2017, 3, 19), 5), - datetime.date(2021, 12, 20)) - self.assertEqual(roll_date_c(datetime.date(2017, 3, 20), 5), - datetime.date(2022, 6, 20)) + self.assertEqual( + roll_date_c(datetime.date(2016, 9, 20), 5), datetime.date(2021, 12, 20) + ) + self.assertEqual( + roll_date_c(datetime.date(2016, 10, 15), 5), datetime.date(2021, 12, 20) + ) + self.assertEqual( + roll_date_c(datetime.date(2017, 3, 19), 5), datetime.date(2021, 12, 20) + ) + self.assertEqual( + roll_date_c(datetime.date(2017, 3, 20), 5), datetime.date(2022, 6, 20) + ) def test_enddate_pre2015(self): - self.assertEqual(roll_date_c(datetime.date(2014, 9, 20), 5), - datetime.date(2019, 12, 20)) - self.assertEqual(roll_date_c(datetime.date(2014, 10, 15), 5), - datetime.date(2019, 12, 20)) - self.assertEqual(roll_date_c(datetime.date(2015, 3, 19), 5), - datetime.date(2020, 3, 20)) - self.assertEqual(roll_date_c(datetime.date(2015, 3, 20), 5), - datetime.date(2020, 6, 20)) - self.assertEqual(roll_date_c(datetime.date(2015, 12, 19), 5), - datetime.date(2020, 12, 20)) - self.assertEqual(roll_date_c(datetime.date(2015, 12, 20), 5), - datetime.date(2020, 12, 20)) + self.assertEqual( + roll_date_c(datetime.date(2014, 9, 20), 5), datetime.date(2019, 12, 20) + ) + self.assertEqual( + roll_date_c(datetime.date(2014, 10, 15), 5), datetime.date(2019, 12, 20) + ) + self.assertEqual( + roll_date_c(datetime.date(2015, 3, 19), 5), datetime.date(2020, 3, 20) + ) + self.assertEqual( + roll_date_c(datetime.date(2015, 3, 20), 5), datetime.date(2020, 6, 20) + ) + self.assertEqual( + roll_date_c(datetime.date(2015, 12, 19), 5), datetime.date(2020, 12, 20) + ) + self.assertEqual( + roll_date_c(datetime.date(2015, 12, 20), 5), datetime.date(2020, 12, 20) + ) class TestCdsAccrued(unittest.TestCase): def test_cdsaccrued(self): - self.assertAlmostEqual(cds_accrued(datetime.date(2016, 4, 1), 100), - cds_accrued_c(datetime.date(2016, 4, 1), 100)) - self.assertAlmostEqual(cds_accrued(datetime.date(2016, 3, 21), 100), - 0.2777777777777778) - self.assertAlmostEqual(cds_accrued(datetime.date(2016, 3, 18), 100), - 24.72222222222222) - #buggy + self.assertAlmostEqual( + cds_accrued(datetime.date(2016, 4, 1), 100), + cds_accrued_c(datetime.date(2016, 4, 1), 100), + ) + self.assertAlmostEqual( + cds_accrued(datetime.date(2016, 3, 21), 100), 0.2777777777777778 + ) + self.assertAlmostEqual( + cds_accrued(datetime.date(2016, 3, 18), 100), 24.72222222222222 + ) + # buggy # self.assertAlmostEqual(cds_accrued(datetime.date(2016, 9, 19), 100), # 0.) def test_cdsaccrued_c(self): - self.assertAlmostEqual(cds_accrued_c(datetime.date(2016, 4, 1), 100), - 3.3333333333333) - self.assertAlmostEqual(cds_accrued_c(datetime.date(2016, 3, 21), 100), - 0.27777777777777) - self.assertAlmostEqual(cds_accrued_c(datetime.date(2016, 3, 18), 100), - 24.72222222222) - self.assertAlmostEqual(cds_accrued_c(datetime.date(2016, 9, 19), 100), - 0.) - self.assertAlmostEqual(cds_accrued_c(datetime.date(2014, 9, 19), 100), - 25.55555555556) + self.assertAlmostEqual( + cds_accrued_c(datetime.date(2016, 4, 1), 100), 3.3333333333333 + ) + self.assertAlmostEqual( + cds_accrued_c(datetime.date(2016, 3, 21), 100), 0.27777777777777 + ) + self.assertAlmostEqual( + cds_accrued_c(datetime.date(2016, 3, 18), 100), 24.72222222222 + ) + self.assertAlmostEqual(cds_accrued_c(datetime.date(2016, 9, 19), 100), 0.0) + self.assertAlmostEqual( + cds_accrued_c(datetime.date(2014, 9, 19), 100), 25.55555555556 + ) class TestDaysAccrued(unittest.TestCase): |
