class TestDefaultTextValidator(TestCase): def setUp(self) -> None: self.min_length = 16 self.max_length = 256 self.validator = TextValidator() def test_valid(self): num_chars = randint(self.min_length, self.max_length) valid_text = gen_random_text(num_chars) self.assertTrue(self.validator.is_valid(valid_text)) def test_invalid_min(self): num_chars = randint(-999, 15) valid_text = gen_random_text(num_chars) self.assertFalse(self.validator.is_valid(valid_text)) def test_invalid_max(self): num_chars = randint(257, 999) valid_text = gen_random_text(num_chars) self.assertFalse(self.validator.is_valid(valid_text)) def test_absolute_min_valid(self): valid_text = gen_random_text(self.min_length) self.assertTrue(self.validator.is_valid(valid_text)) def test_absolute_max_valid(self): valid_text = gen_random_text(self.max_length) self.assertTrue(self.validator.is_valid(valid_text))
def is_valid(self, value): return all(TextValidator.is_valid(value) for TextValidator in self.all_validators)