X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/aaf8c7aa5f90b6d58c0ee317e19976972eee39ba..a9410db7436274a5623ee1dd61f6e45b20f7164c:/t/t-algorithms.py diff --git a/t/t-algorithms.py b/t/t-algorithms.py index 3301228..cff1ebd 100644 --- a/t/t-algorithms.py +++ b/t/t-algorithms.py @@ -38,7 +38,7 @@ def bad_key_size(ksz): if isinstance(ksz, C.KeySZAny): return None elif isinstance(ksz, C.KeySZRange): if ksz.mod != 1: return ksz.min + 1 - elif ksz.max != 0: return ksz.max + 1 + elif ksz.max is not None: return ksz.max + 1 elif ksz.min != 0: return ksz.min - 1 else: return None elif isinstance(ksz, C.KeySZSet): @@ -52,7 +52,7 @@ def different_key_size(ksz, sz): if isinstance(ksz, C.KeySZAny): return sz + 1 elif isinstance(ksz, C.KeySZRange): if sz > ksz.min: return sz - ksz.mod - elif ksz.max == 0 or sz < ksz.max: return sz + ksz.mod + elif ksz.max is None or sz < ksz.max: return sz + ksz.mod else: return None elif isinstance(ksz, C.KeySZSet): for sz1 in sorted(ksz.set): @@ -145,7 +145,7 @@ class TestKeysize (U.TestCase): me.assertEqual(type(ksz), C.KeySZAny) me.assertEqual(ksz.default, 20) me.assertEqual(ksz.min, 0) - me.assertEqual(ksz.max, 0) + me.assertEqual(ksz.max, None) for n in [0, 12, 20, 5000]: me.assertTrue(ksz.check(n)) me.assertEqual(ksz.best(n), n) @@ -157,7 +157,7 @@ class TestKeysize (U.TestCase): me.assertEqual(type(ksz), C.KeySZAny) me.assertEqual(ksz.default, 32) me.assertEqual(ksz.min, 0) - me.assertEqual(ksz.max, 0) + me.assertEqual(ksz.max, None) for n in [0, 12, 20, 5000]: me.assertTrue(ksz.check(n)) me.assertEqual(ksz.best(n), n) @@ -167,7 +167,7 @@ class TestKeysize (U.TestCase): ksz = C.KeySZAny(15) me.assertEqual(ksz.default, 15) me.assertEqual(ksz.min, 0) - me.assertEqual(ksz.max, 0) + me.assertEqual(ksz.max, None) me.assertRaises(ValueError, lambda: C.KeySZAny(-8)) me.assertEqual(C.KeySZAny(0).default, 0) @@ -230,6 +230,11 @@ class TestKeysize (U.TestCase): me.assertEqual(ksz.min, 21) me.assertEqual(ksz.max, 35) me.assertEqual(ksz.mod, 7) + ksz = C.KeySZRange(28, 21, None, 7) + me.assertEqual(ksz.min, 21) + me.assertEqual(ksz.max, None) + me.assertEqual(ksz.mod, 7) + me.assertEqual(ksz.pad(36), 42) me.assertRaises(ValueError, C.KeySZRange, 29, 21, 35, 7) me.assertRaises(ValueError, C.KeySZRange, 28, 20, 35, 7) me.assertRaises(ValueError, C.KeySZRange, 28, 21, 34, 7)