Clean Code: Python

Fix issues found by flake8-bugbear:

* Unused loop variables
* assert statements in non-test code
* mixing test code with production code
* mark one excessive test which takes ~10min to run
  as 'slow'
This commit is contained in:
Martin Thoma
2022-03-18 14:58:25 +01:00
parent f7deaba4a1
commit f52d9a0e54
27 changed files with 97 additions and 57 deletions

View File

@@ -0,0 +1,49 @@
import datetime
import pytest
from weekday import calculate_day_of_week
@pytest.mark.parametrize(
("year", "month", "day"),
[
(yr, m, d)
for yr in range(1600, 2021)
for m in range(1, 12)
for d in range(1, 28)
],
)
@pytest.mark.slow # Those are 125,037 tests!
def test_weekday_calc(year, month, day):
dt = datetime.date(year, month, day)
python_weekday = dt.weekday() # Monday = 0, Sunday = 6
basic_weekday = calculate_day_of_week(year, month, day) # Sunday = 1, Saturday = 7
if ((python_weekday + 2) % 7) != (basic_weekday % 7):
print(f"testing yr {year} month {month} day {day}")
print(f"python says {python_weekday}")
print(f"BASIC says {basic_weekday}")
assert False
@pytest.mark.parametrize(
("year", "month", "day"),
[
(yr, m, d)
for yr in range(2016, 2021)
for m in range(1, 12)
for d in range(1, 28)
],
)
def test_weekday_calc_4_years(year, month, day):
dt = datetime.date(year, month, day)
python_weekday = dt.weekday() # Monday = 0, Sunday = 6
basic_weekday = calculate_day_of_week(year, month, day) # Sunday = 1, Saturday = 7
if ((python_weekday + 2) % 7) != (basic_weekday % 7):
print(f"testing yr {year} month {month} day {day}")
print(f"python says {python_weekday}")
print(f"BASIC says {basic_weekday}")
assert False