Протестируйте методы programmer_define()
и age_define()
класса Contact
.
Тестировать нужно все состояния: в метод programmer_define()
надо по очереди передать False
и True
, а в age_define()
надо проверить все возрастные категории.
Для проверки всех возможных вариантов создайте несколько экземпляров класса Contact
с разными значениями полей year_birth
и is_programmer
.
Подсказка:
Создайте несколько экземпляров класса Contact
, в каждом экземпляре задайте разные значения для year_birth
и is_programmer
.
Для каждого экземпляра напишите отдельный assert, вызывая проверяемый метод и сравнивая возвращаемое значение с ожидаемым.
Код:
class Contact: def __init__(self, name, year_birth, is_programmer): self.name = name self.year_birth = year_birth self.is_programmer = is_programmer def age_define(self): if 1946 < self.year_birth < 1980: return 'Олдскул' if self.year_birth >= 1980: return 'Молодой' return 'Старейшина' def programmer_define(self): if self.is_programmer: return 'Программист' return 'Нормальный' def show_contact(self): return(f'{self.name}, ' f'возраст: {self.age_define()}, ' f'статус: {self.programmer_define()}') def print_contact(self): print(self.show_contact()) test_old_none_programmer = Contact('Пушкин', 1945, True) assert test_old_none_programmer.age_define() == 'Старейшина',('Ошибка') test_old_none_programmer = Contact('Пушкин', 1947, True) assert test_old_none_programmer.age_define() == 'Олдскул',('Ошибка') test_old_none_programmer = Contact('Пушкин', 1981, True) assert test_old_none_programmer.age_define() == 'Молодой',('Ошибка') test_old_none_programmer = Contact('Пушкин', 1945, True) assert test_old_none_programmer.programmer_define() == 'Программист',('Нормальный') test_old_none_programmer = Contact('Пушкин', 1945, False) assert test_old_none_programmer.programmer_define() == 'Нормальный',('Программист') # Создайте экземпляр класса Contact с необходимыми параметрами # Например, test_old_none_programmer = Contact('Пушкин', 1799, False). # Напишите assert, и в нём проверьте, # что метод programmer_define() этого экземпляра возвращает строку "Нормальный" # Во втором assert проверьте, возвращает ли метод age_define() значение "Старейшина" # Затем создайте другой экземпляр с другими параметрами # И в assert проверьте, вернут ли и его методы ожидаемый результат. # Создайте столько экземпляров, сколько нужно, # чтобы через разные assert проверить все методы во всех вариантах.