From: Mark Wooding Date: Sun, 17 Nov 2019 23:41:14 +0000 (+0000) Subject: t/t-algorithms.py: Add tests for the new `KeySZ.pad' method. X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/commitdiff_plain/606677f69fb8f1ac87e5b5b50b99dbf0138c0cc4?ds=sidebyside t/t-algorithms.py: Add tests for the new `KeySZ.pad' method. --- diff --git a/t/t-algorithms.py b/t/t-algorithms.py index 8e073f2..f63565a 100644 --- a/t/t-algorithms.py +++ b/t/t-algorithms.py @@ -149,6 +149,7 @@ class TestKeysize (U.TestCase): for n in [0, 12, 20, 5000]: me.assertTrue(ksz.check(n)) me.assertEqual(ksz.best(n), n) + me.assertEqual(ksz.pad(n), n) ## A typical two-byte spec. (No published algorithms actually /need/ a ## two-byte key-size spec, but all of the HMAC variants use one anyway.) @@ -160,6 +161,7 @@ class TestKeysize (U.TestCase): for n in [0, 12, 20, 5000]: me.assertTrue(ksz.check(n)) me.assertEqual(ksz.best(n), n) + me.assertEqual(ksz.pad(n), n) ## Check construction. ksz = C.KeySZAny(15) @@ -186,6 +188,8 @@ class TestKeysize (U.TestCase): else: me.assertFalse(ksz.check(x)) if best is None: me.assertRaises(ValueError, ksz.best, x) else: me.assertEqual(ksz.best(x), best) + if pad is None: me.assertRaises(ValueError, ksz.pad, x) + else: me.assertEqual(ksz.pad(x), pad) ## Check construction. ksz = C.KeySZSet(7) @@ -210,13 +214,15 @@ class TestKeysize (U.TestCase): me.assertEqual(ksz.min, 4) me.assertEqual(ksz.max, 32) me.assertEqual(ksz.mod, 4) - for x, best in [(3, None), (4, 4), (5, 4), - (15, 12), (16, 16), (17, 16), - (31, 28), (32, 32), (33, 32)]: - if x == best: me.assertTrue(ksz.check(x)) + for x, best, pad in [(3, None, 4), (4, 4, 4), (5, 4, 8), + (15, 12, 16), (16, 16, 16), (17, 16, 20), + (31, 28, 32), (32, 32, 32), (33, 32, None)]: + if x == best == pad: me.assertTrue(ksz.check(x)) else: me.assertFalse(ksz.check(x)) if best is None: me.assertRaises(ValueError, ksz.best, x) else: me.assertEqual(ksz.best(x), best) + if pad is None: me.assertRaises(ValueError, ksz.pad, x) + else: me.assertEqual(ksz.pad(x), pad) ## Check construction. ksz = C.KeySZRange(28, 21, 35, 7)