def test_decoding(self): su = ShortUUID() random_uid = uuid4() smallest_uid = UUID(int=0) encoded_random = su.encode(random_uid) encoded_small = su.encode(smallest_uid) self.assertEqual(su.decode(encoded_small), smallest_uid) self.assertEqual(su.decode(encoded_random), random_uid)
def test_alphabet(self): alphabet = "01" su1 = ShortUUID(alphabet) su2 = ShortUUID() self.assertEqual(alphabet, su1.get_alphabet()) su1.set_alphabet("01010101010101") self.assertEqual(alphabet, su1.get_alphabet()) self.assertEqual(set(su1.uuid()), set("01")) self.assertTrue(116 < len(su1.uuid()) < 140) self.assertTrue(20 < len(su2.uuid()) < 24) ui = uuid4() self.assertEqual(ui, su1.decode(su1.encode(ui))) ui = su1.uuid() self.assertEqual(ui, su1.encode(su1.decode(ui))) self.assertRaises(ValueError, su1.set_alphabet, "1") self.assertRaises(ValueError, su1.set_alphabet, "1111111")
def test_alphabet(self): alphabet = "01" su1 = ShortUUID(alphabet) su2 = ShortUUID() self.assertEqual(alphabet, su1.get_alphabet()) su1.set_alphabet("01010101010101") self.assertEqual(alphabet, su1.get_alphabet()) self.assertEqual(set(su1.uuid()), set("01")) self.assertTrue(116 < len(su1.uuid()) < 140) self.assertTrue(20 < len(su2.uuid()) < 24) u = uuid4() self.assertEqual(u, su1.decode(su1.encode(u))) u = su1.uuid() self.assertEqual(u, su1.encode(su1.decode(u))) self.assertRaises(ValueError, su1.set_alphabet, "1") self.assertRaises(ValueError, su1.set_alphabet, "1111111")
def test_consistency(self): su = ShortUUID() num_iterations = 1000 uid_lengths = defaultdict(int) for count in range(num_iterations): random_uid = uuid4() encoded_random = su.encode(random_uid) uid_lengths[len(encoded_random)] += 1 decoded_random = su.decode(encoded_random) self.assertEqual(random_uid, decoded_random) self.assertEqual(len(uid_lengths), 1) uid_length = next(iter(uid_lengths.keys())) # Get the 1 value self.assertEqual(uid_lengths[uid_length], num_iterations)
def test_decoding(self): su = ShortUUID() ui = UUID("{3b1f8b40-222c-4a6e-b77e-779d5a94e21c}") self.assertEqual(su.decode("bYRT25J5s7Bniqr4b58cXC"), ui)
def test_decoding(self): su = ShortUUID() u = UUID("{3b1f8b40-222c-4a6e-b77e-779d5a94e21c}") self.assertEqual(su.decode("CXc85b4rqinB7s5J52TRYb"), u)