diff options
Diffstat (limited to 'python/tests')
| -rw-r--r-- | python/tests/test_dates.py | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/python/tests/test_dates.py b/python/tests/test_dates.py index 843941db..d30809c9 100644 --- a/python/tests/test_dates.py +++ b/python/tests/test_dates.py @@ -5,13 +5,18 @@ import pandas as pd import sys sys.path.append('..') from analytics.utils import * -from pyisda.date import roll_date as roll_date_c +from analytics.tranche_functions import cds_accrued +from pyisda.date import roll_date as roll_date_c, cds_accrued as cds_accrued_c 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)), @@ -21,13 +26,13 @@ class TestStartDate(unittest.TestCase): def test_previous_twentieth_timestamp(self): self.assertEqual(previous_twentieth(pd.Timestamp('2016-09-20')), - pd.Timestamp('2016-09-20')) + datetime.date(2016, 9, 20)) self.assertEqual(previous_twentieth(pd.Timestamp('2016-10-15')), - pd.Timestamp('2016-09-20')) + datetime.date(2016, 9, 20)) self.assertEqual(previous_twentieth(pd.Timestamp('2016-12-20')), - pd.Timestamp('2016-12-20')) + datetime.date(2016, 12, 20)) self.assertEqual(previous_twentieth(pd.Timestamp('2017-03-19')), - pd.Timestamp('2016-12-20')) + datetime.date(2016, 12, 20)) class TestEndDate(unittest.TestCase): def test_enddate(self): @@ -81,5 +86,26 @@ class TestEndDateC(unittest.TestCase): 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, 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.) + + if __name__=="__main__": unittest.main() |
