aboutsummaryrefslogtreecommitdiffstats
path: root/python/tests/test_dates.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/tests/test_dates.py')
-rw-r--r--python/tests/test_dates.py36
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()