aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Ganssle <paul@ganssle.io>2018-10-25 13:32:32 -0400
committerPaul Ganssle <paul@ganssle.io>2018-10-25 13:37:26 -0400
commit09a6f414f0d8ee704482e103d42605baaf7596e1 (patch)
tree7a04179610c2a7d6d8c0791a49c87d558cd442d4
parent13ce77380ca745ada1a5252e264c97029facc075 (diff)
downloaddateutil-09a6f414f0d8ee704482e103d42605baaf7596e1.tar.gz
Add documentation exercises to pytest
-rw-r--r--docs/exercises/solutions/mlk-day-rrule.rst41
-rw-r--r--docs/exercises/solutions/mlk_day_rrule_solution.py40
-rw-r--r--setup.cfg4
3 files changed, 46 insertions, 39 deletions
diff --git a/docs/exercises/solutions/mlk-day-rrule.rst b/docs/exercises/solutions/mlk-day-rrule.rst
index b8da806..3292616 100644
--- a/docs/exercises/solutions/mlk-day-rrule.rst
+++ b/docs/exercises/solutions/mlk-day-rrule.rst
@@ -6,43 +6,6 @@ Martin Luther King Day: Solution
Presented here is a solution to the :ref:`Martin Luther King Day exercises <mlk-day-exercise>`.
-.. code-block:: python3
-
- # ------- YOUR CODE -------------#
- from dateutil import rrule
- from datetime import datetime
-
- MLK_DAY = rrule.rrule(
- dtstart=datetime(1986, 1, 20), # First celebration
- freq=rrule.YEARLY, # Occurs once per year
- bymonth=1, # In January
- byweekday=rrule.MO(+3), # On the 3rd Monday
- )
-
- # -------------------------------#
-
- from datetime import datetime
- MLK_TEST_CASES = [
- ((datetime(1970, 1, 1), datetime(1980, 1, 1)),
- []),
- ((datetime(1980, 1, 1), datetime(1989, 1, 1)),
- [datetime(1986, 1, 20),
- datetime(1987, 1, 19),
- datetime(1988, 1, 18)]),
- ((datetime(2017, 2, 1), datetime(2022, 2, 1)),
- [datetime(2018, 1, 15, 0, 0),
- datetime(2019, 1, 21, 0, 0),
- datetime(2020, 1, 20, 0, 0),
- datetime(2021, 1, 18, 0, 0),
- datetime(2022, 1, 17, 0, 0)]
- ),
- ]
-
- def test_mlk_day():
- for (between_args, expected) in MLK_TEST_CASES:
- assert MLK_DAY.between(*between_args) == expected
-
- if __name__ == "__main__":
- test_mlk_day()
- print('Success!')
+.. include:: mlk_day_rrule_solution.py
+ :code: python3
diff --git a/docs/exercises/solutions/mlk_day_rrule_solution.py b/docs/exercises/solutions/mlk_day_rrule_solution.py
new file mode 100644
index 0000000..025ebf2
--- /dev/null
+++ b/docs/exercises/solutions/mlk_day_rrule_solution.py
@@ -0,0 +1,40 @@
+# ------- YOUR CODE -------------#
+from dateutil import rrule
+from datetime import datetime
+
+MLK_DAY = rrule.rrule(
+ dtstart=datetime(1986, 1, 20), # First celebration
+ freq=rrule.YEARLY, # Occurs once per year
+ bymonth=1, # In January
+ byweekday=rrule.MO(+3), # On the 3rd Monday
+)
+
+# -------------------------------#
+
+from datetime import datetime
+
+MLK_TEST_CASES = [
+ ((datetime(1970, 1, 1), datetime(1980, 1, 1)),
+ []),
+ ((datetime(1980, 1, 1), datetime(1989, 1, 1)),
+ [datetime(1986, 1, 20),
+ datetime(1987, 1, 19),
+ datetime(1988, 1, 18)]),
+ ((datetime(2017, 2, 1), datetime(2022, 2, 1)),
+ [datetime(2018, 1, 15, 0, 0),
+ datetime(2019, 1, 21, 0, 0),
+ datetime(2020, 1, 20, 0, 0),
+ datetime(2021, 1, 18, 0, 0),
+ datetime(2022, 1, 17, 0, 0)]
+ ),
+]
+
+
+def test_mlk_day():
+ for (between_args, expected) in MLK_TEST_CASES:
+ assert MLK_DAY.between(*between_args) == expected
+
+
+if __name__ == "__main__":
+ test_mlk_day()
+ print('Success!')
diff --git a/setup.cfg b/setup.cfg
index 4a8ed2b..22ab896 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -5,6 +5,10 @@ universal = 1
license_file = LICENSE
[tool:pytest]
+python_files=
+ test_*.py
+ *_test.py
+ *_solution.py
xfail_strict = true
filterwarnings =
error