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