Задача 3

Напишите прототип тестовой системы, состоящей из двух тест-кейсов. В данной задаче использование стороннего модуля для автоматизации тестирования не приветствуется.

Тестовая система представляет собой иерархию классов, описывающую тест-кейсы.

У каждого тест-кейса есть:

  • Номер (tc_id) и название (name)

  • Методы для подготовки (prep), выполнения (run) и завершения (clean_up) тестов.

  • Метод execute, который задаёт общий порядок выполнения тест-кейса и обрабатывает исключительные ситуации.

Все этапы выполнения тест-кейса, а также исключительные ситуации должны быть задокументированы в лог-файле или в стандартном выводе.

Тест-кейс 1: Список файлов

  • [prep] Если текущее системное время, заданное как целое количество секунд от начала эпохи Unix, не кратно двум, то необходимо прервать выполнение тест-кейса.
  • [run] Вывести список файлов из домашней директории текущего пользователя.
  • [clean_up] Действий не требуется.

Тест-кейс 2: Случайный файл

  • [prep] Если объем оперативной памяти машины, на которой исполняется тест, меньше одного гигабайта, то необходимо прервать выполнение тест-кейса.
  • [run] Создать файл test размером 1024 КБ со случайным содержимым.
  • [clean_up] Удалить файл test.