aboutsummaryrefslogtreecommitdiff
path: root/challenge-259/roger-bell-west/python/ch-1.py
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-259/roger-bell-west/python/ch-1.py')
-rwxr-xr-xchallenge-259/roger-bell-west/python/ch-1.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/challenge-259/roger-bell-west/python/ch-1.py b/challenge-259/roger-bell-west/python/ch-1.py
new file mode 100755
index 0000000000..fef13ed084
--- /dev/null
+++ b/challenge-259/roger-bell-west/python/ch-1.py
@@ -0,0 +1,25 @@
+#! /usr/bin/python3
+
+from datetime import date, timedelta
+
+def bankingdayoffset(start, offset, bankholidays):
+ bh = set(date.fromisoformat(i) for i in bankholidays)
+ d = date.fromisoformat(start)
+ day = timedelta(days = 1)
+ for _ in range(offset):
+ d += day
+ while d in bh or d.weekday() > 4:
+ d += day
+ return d.strftime("%Y-%m-%d")
+
+import unittest
+
+class TestBankingdayoffset(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(bankingdayoffset("2018-06-28", 3, ["2018-07-03"]), "2018-07-04", 'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(bankingdayoffset("2018-06-28", 3, []), "2018-07-03", 'example 2')
+
+unittest.main()