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.)
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)
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)
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)