3 # © Copyright 2021-2022, Scott Gasch
5 """letter_compress unittest."""
12 import letter_compress
13 import unittest_utils as uu
16 class TestLetterCompress(unittest.TestCase):
17 def test_with_random_strings(self):
18 alphabet = 'abcdefghijklmnopqrstuvwxyz .,"-'
21 for letter in random.choices(alphabet, k=random.randrange(10, 5000)):
24 compressed = letter_compress.compress(message)
25 clen = len(compressed)
26 self.assertEqual(math.ceil(mlen * 5.0 / 8.0), clen)
27 decompressed = letter_compress.decompress(compressed)
28 self.assertEqual(decompressed, message, f'The bad message string was "{message}"')
31 if __name__ == '__main__':
32 bootstrap.initialize(unittest.main)()