1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- from settings import settings
- from settings_manager import settings_manager
- import unittest, os, random
- class test_settings(unittest.TestCase):
-
-
- #
- # Провеиить корректность заполнения поля first_name
- #
- def test_check_first_name(self):
- # Подготовка
- item = settings()
-
- # Действие
- item.first_name = "a "
-
- # Проверка
- assert item.first_name == "a"
- #
- # Проверить, что settings_manager инстанциируется только один раз
- #
- def test_check_settings_manager_singleton(self):
- # Подготовка
- a = settings_manager()
- b = settings_manager()
- # Действие
- # Проверка
- assert a is b
-
- #
- # Проверить корректность загрузки настроек
- #
- def test_check_open_settings(self):
- # Подготовка
- item = settings_manager()
-
- # Действие
- result = item.open("settings.json")
- # Проверка
- assert result == True
- #
- # Проверить, что все поля настроек не пусты
- #
- def test_check_settings_fields_nonempty(self):
- # Подготовка
- man = settings_manager()
- settings = None
- # Действие
- man.open("settings.json")
- man.convert()
- settings = man.settings
- dict = settings.__dict__
- # Проверка
- for key in dict.keys():
- assert len(str(dict[key])) != 0
-
- #
- # Проверить, что менеджер настроек может открыть файл
- # с любым названием и в любой папке
- #
- def test_settings_any_filename(self):
- # Подготовка
- if not os.path.exists("./.test_data"):
- os.mkdir("./.test_data")
- alp = "abcdefghijklmnopqrstuvwxyz"
- dirname = f"{os.curdir}/.test_data/"
- dirname += ''.join(random.choice(alp) for _ in range(6))
- filename = f"{dirname}/"
- filename += ''.join(random.choice(alp) for _ in range(6)) + ".json"
- os.mkdir(dirname)
- f = open(filename, "w")
- f2 = open(f"{os.curdir}/settings.json")
- f.write(f2.read())
- f.close()
- f2.close()
- # Действие
- man = settings_manager()
- man.open(filename)
- # Проверка
- assert settings is not None
- # Очистка
- os.remove(filename)
- os.removedirs(dirname)
|