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