diff --git a/pendulum/pendulum.py b/pendulum/pendulum.py index 19f6b460..8ec1ec9a 100644 --- a/pendulum/pendulum.py +++ b/pendulum/pendulum.py @@ -769,6 +769,8 @@ def set_week_starts_at(cls, value): :type value: int """ + if value not in cls._days: + raise ValueError('Invalid day of the week: {}'.format(value)) cls._week_starts_at = value @classmethod @@ -787,6 +789,8 @@ def set_week_ends_at(cls, value): :type value: int """ + if value not in cls._days: + raise ValueError('Invalid day of the week: {}'.format(value)) cls._week_ends_at = value @classmethod @@ -799,13 +803,17 @@ def get_weekend_days(cls): return cls._weekend_days @classmethod - def set_weekend_days(cls, value): + def set_weekend_days(cls, values): """ Set weekend days. :type value: list """ - cls._weekend_days = value + for value in values: + if value not in cls._days: + raise ValueError('Invalid day of the week: {}' + .format(value)) + cls._weekend_days = values # Normalization Rule @classmethod diff --git a/tests/pendulum_tests/test_day_of_week_modifiers.py b/tests/pendulum_tests/test_day_of_week_modifiers.py index 627bed84..ebd1b664 100644 --- a/tests/pendulum_tests/test_day_of_week_modifiers.py +++ b/tests/pendulum_tests/test_day_of_week_modifiers.py @@ -9,6 +9,9 @@ class DayOfWeekModifiersTest(AbstractTestCase): + def test_set_weekend_days_invalid_value(self): + self.assertRaises(ValueError, Pendulum.set_weekend_days, [7]) + def test_get_weekend_days(self): self.assertEqual( [pendulum.SATURDAY, pendulum.SUNDAY], @@ -21,11 +24,17 @@ def test_get_weekend_days(self): ) Pendulum.set_weekend_days([pendulum.SATURDAY, pendulum.SUNDAY]) + def test_set_week_ends_at_invalid_value(self): + self.assertRaises(ValueError, Pendulum.set_week_ends_at, 7) + def test_get_week_ends_at(self): Pendulum.set_week_ends_at(pendulum.SATURDAY) self.assertEqual(Pendulum.get_week_ends_at(), pendulum.SATURDAY) Pendulum.set_week_ends_at(pendulum.SUNDAY) + def test_set_week_starts_at_invalid_value(self): + self.assertRaises(ValueError, Pendulum.set_week_starts_at, 7) + def test_get_week_starts_at(self): Pendulum.set_week_starts_at(pendulum.TUESDAY) self.assertEqual(Pendulum.get_week_starts_at(), pendulum.TUESDAY)