X-Git-Url: http://git.scottworley.com/rfc1751/blobdiff_plain/27ff981f35ca587c6a385ca8485fcb027ed62b71..c4374da5ae0994f0ca5e2e243e5577199267d985:/rfc1751_test.py diff --git a/rfc1751_test.py b/rfc1751_test.py index 5fdad7f..a272e89 100644 --- a/rfc1751_test.py +++ b/rfc1751_test.py @@ -1,20 +1,39 @@ +# Copyright (c) 2024 Scott Worley +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + import unittest -from rfc1751 import rfc1751 +from rfc1751 import encode, decode class TestRFC1751(unittest.TestCase): + def check(self, num: int, words: list[str]) -> None: + self.assertEqual(encode(num), words) + self.assertEqual(decode(words), num) + def testRFC1751(self) -> None: - self.assertEqual(rfc1751(0), ['A']) - self.assertEqual(rfc1751(1), ['ABE']) - self.assertEqual(rfc1751(2), ['ACE']) - self.assertEqual(rfc1751(2047), ['YOKE']) - self.assertEqual(rfc1751(2048), ['ABE', 'A']) - self.assertEqual(rfc1751(2049), ['ABE', 'ABE']) - self.assertEqual(rfc1751(2050), ['ABE', 'ACE']) + self.check(0, ['A']) + self.check(1, ['ABE']) + self.check(2, ['ACE']) + self.check(2047, ['YOKE']) + self.check(2048, ['ABE', 'A']) + self.check(2049, ['ABE', 'ABE']) + self.check(2050, ['ABE', 'ACE']) # Note: These can get NSFW - self.assertEqual(rfc1751(2112325), ['FIRM', 'COCK']) + self.check(2112325, ['FIRM', 'COCK']) if __name__ == '__main__':