from random import randint import unittest from unique_id import get_unique_id class TestStringMethods(unittest.TestCase): def test_unique_id(self): unique_ids = list() for item in range(1000): unique_id = get_unique_id() is_duplicated = unique_id in unique_ids self.assertFalse(is_duplicated) unique_ids.append(unique_id) def test_max_length(self): for item in range(1000): id_length = randint(1, 128) unique_id = get_unique_id(length=id_length) is_over_length = len(unique_id) != id_length self.assertFalse(is_over_length) def test_excluded_chars(self): id_length = 256 excluded_chars = [1, 'f', 'm', 'a', 4, 5, 'Z', 'w', '_'] for item in range(1000): unique_id = get_unique_id(length=id_length, excluded_chars=excluded_chars) for seed in unique_id: is_excluded_char = seed in excluded_chars self.assertFalse(is_excluded_char) if __name__ == '__main__': unittest.main()