summaryrefslogtreecommitdiff
path: root/test1.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2024-04-13 20:58:03 -0400
committerRob Austein <sra@hactrn.net>2024-04-13 20:58:03 -0400
commit42e215baae5ba124cf4aa66a79bf68d4fe2e29c1 (patch)
tree7bd829b36813a46f9a27b6adec743a158c6775fd /test1.py
parentda18545e8cb3615dfc82b1ee020cd9232068bfda (diff)
Rewrite to handle corner case start == finish + 1
Diffstat (limited to 'test1.py')
-rwxr-xr-xtest1.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/test1.py b/test1.py
index 737d550..e374bb7 100755
--- a/test1.py
+++ b/test1.py
@@ -1,9 +1,14 @@
#!/usr/bin/env python3
from rfc1982_serial_number import Serial, find_intermediate
+from argparse import ArgumentParser
from random import randint
-for test in range(10000):
+ap = ArgumentParser()
+ap.add_argument("iterations", type = int, default = 100000, nargs = "?")
+args = ap.parse_args()
+
+for test in range(args.iterations):
i1 = Serial(randint(0, Serial.modulus - 1))
i2 = Serial(randint(0, Serial.modulus - 1))
@@ -13,8 +18,11 @@ for test in range(10000):
int(i1) ^ int(i2) == Serial.modulus >> 1
step = [i1, i2]
- wrap = find_intermediate(i1, i2)
- if wrap is not None:
- step.insert(1, wrap)
+ for wrap in find_intermediate(i1, i2):
+ assert wrap > step[-2]
+ step.insert(-1, wrap)
+
+ for i in range(len(step) - 1):
+ assert step[i] < step[i + 1]
print(" => ".join(str(s) for s in step))