diff options
author | Paul Ganssle <paul@ganssle.io> | 2018-10-25 13:32:32 -0400 |
---|---|---|
committer | Paul Ganssle <paul@ganssle.io> | 2018-10-25 13:37:26 -0400 |
commit | 09a6f414f0d8ee704482e103d42605baaf7596e1 (patch) | |
tree | 7a04179610c2a7d6d8c0791a49c87d558cd442d4 | |
parent | 13ce77380ca745ada1a5252e264c97029facc075 (diff) | |
download | dateutil-09a6f414f0d8ee704482e103d42605baaf7596e1.tar.gz |
Add documentation exercises to pytest
-rw-r--r-- | docs/exercises/solutions/mlk-day-rrule.rst | 41 | ||||
-rw-r--r-- | docs/exercises/solutions/mlk_day_rrule_solution.py | 40 | ||||
-rw-r--r-- | setup.cfg | 4 |
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!') @@ -5,6 +5,10 @@ universal = 1 license_file = LICENSE [tool:pytest] +python_files= + test_*.py + *_test.py + *_solution.py xfail_strict = true filterwarnings = error |