File: test_settings.py

package info (click to toggle)
quantlib-swig 1.40-3
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 2,276 kB
  • sloc: python: 6,024; java: 1,552; cs: 774; makefile: 309; sh: 22
file content (34 lines) | stat: -rw-r--r-- 1,390 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import QuantLib as ql
import unittest


class SettingsTest(unittest.TestCase):
    def test_properties(self):
        settings = ql.Settings.instance()
        with ql.SavedSettings():
            for v in (ql.Date(1, 1, 2023), ql.Date(2, 2, 2023)):
                settings.evaluationDate = v
                self.assertEqual(settings.evaluationDate, v)
            for v in (True, False):
                settings.enforcesTodaysHistoricFixings = v
                self.assertEqual(settings.enforcesTodaysHistoricFixings, v)
            for v in (True, False):
                settings.includeReferenceDateEvents = v
                self.assertEqual(settings.includeReferenceDateEvents, v)
            for v in (True, False, None):
                settings.includeTodaysCashFlows = v
                self.assertEqual(settings.includeTodaysCashFlows, v)

    def test_saved_settings(self):
        settings = ql.Settings.instance()
        settings.evaluationDate = ql.Date(1, 1, 2023)
        with ql.SavedSettings():
            settings.evaluationDate = ql.Date(2, 2, 2023)
            self.assertEqual(settings.evaluationDate, ql.Date(2, 2, 2023))
        # Test that SavedSettings restores settings on exit.
        self.assertEqual(settings.evaluationDate, ql.Date(1, 1, 2023))


if __name__ == "__main__":
    print("testing QuantLib", ql.__version__)
    unittest.main(verbosity=2)