from src.validation.validator import validator from src.errors.argument_exception import argument_exception import unittest class test_validator(unittest.TestCase): def test_validator_typeguard(self): """Проверить работоспособность settings_validation.check_type()""" # Подготовка vtor = validator() # Действие # Проверка assert vtor.check_type("", str) self.assertRaises(argument_exception, lambda: vtor.check_type("", int)) def test_validator_len_exact(self): """Проверить работоспособность settings_validator.check_length()""" # Подготовка vtor = validator() # Действие # Проверка assert vtor.check_length("aa", 2) self.assertRaises(argument_exception, lambda: vtor.check_length("aa", 1)) self.assertRaises(argument_exception, lambda: vtor.check_length("aa", 3)) def test_validator_len_int(self): """Проверить работоспособность settings_validator.check_length() при передаче int""" # Подготовка vtor = validator() # Действие # Проверка assert vtor.check_length(10, 2) self.assertRaises(argument_exception, lambda: vtor.check_length(10, 1)) self.assertRaises(argument_exception, lambda: vtor.check_length(10, 3)) def test_validator_len_bound(self): """Проверить работоспособность settings_validator.check_length_bound()""" # Подготовка vtor = validator() # Действие # Проверка # Вхождение в минимум assert vtor.check_length_bound("abc", 3, 10) # Вхождение в максимум assert vtor.check_length_bound("abc", 1, 3) # Невхождение в максимум self.assertRaises(argument_exception, lambda: vtor.check_length_bound("abc", 1, 2)) # Невхождение в минимум self.assertRaises(argument_exception, lambda: vtor.check_length_bound("abc", 4, 5)) # Невхождение в исключительный минимум self.assertRaises(argument_exception, lambda: vtor.check_length_bound("abc", 3, 5, inclusive_min=False)) # Невхождение в исключительный максимум self.assertRaises(argument_exception, lambda: vtor.check_length_bound("abc", 1, 3, inclusive_max=False)) def test_validator_regex(self): """Проверить работоспособность settings_validator.check_regex()""" # Подготовка vtor = validator() # Действие # Проверка assert vtor.check_regex("abc", ".*b[c]+") self.assertRaises(argument_exception, lambda: vtor.check_regex("abc", ".*b[c]+[a]+"))