Для решения задачи нужно написать юнит-тест, который будет проверять корректность даты, составленной из чисел дня, месяца и года, представленных объектом класса Calendar.
Шаги решения:
1. Создайте файл с юнит-тестом, например, “calendar_test.py”.
2. Импортируйте необходимые модули: unittest и класс Calendar.
3. Создайте класс теста, наследующийся от unittest.TestCase.
4. В методе setUp() создайте экземпляр класса Calendar и заполните его значениями необходимыми числами: днем, месяцем и годом.
5. Напишите тестовый метод, начинающийся с префикса “test_”.
6. Внутри тестового метода вызовите методы класса Calendar, возвращающие значения дня, месяца и года, и проверьте корректность даты.
– Проверьте, что год больше 0 и меньше 10000 (или другое верхнее граничное значение, если оно задано).
– Проверьте, что месяц больше 0 и меньше или равен 12.
– Проверьте, что день больше 0 и меньше или равен максимальному дню для данного месяца и года.
7. Запустите тесты с помощью unittest.main().
Пример кода для файла с юнит-тестом:
“`python
import unittest
from calendar import Calendar
class CalendarTest(unittest.TestCase):
def setUp(self):
self.calendar = Calendar()
self.calendar.day = 25
self.calendar.month = 12
self.calendar.year = 2022
def test_valid_date(self):
year = self.calendar.get_year()
month = self.calendar.get_month()
day = self.calendar.get_day()
self.assertTrue(0 < year < 10000) self.assertTrue(0 < month <= 12) self.assertTrue(0 < day <= self.calendar.get_max_day()) if __name__ == "__main__": unittest.main() ``` Обратите внимание, что в данном примере используется предварительное заполнение экземпляра класса Calendar в методе setUp(). Вместо фиксированных значений, вы можете использовать разные числа для проверки разных кейсов.