From f2976c2d08db3f940735d3b7727a18c10ef8b5c1 Mon Sep 17 00:00:00 2001
From: Rob Austein <sra@hactrn.net>
Date: Fri, 12 Apr 2024 14:58:54 -0400
Subject: split out test code

---
 rfc1982_serial_number.py | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)
 mode change 100644 => 100755 rfc1982_serial_number.py

(limited to 'rfc1982_serial_number.py')

diff --git a/rfc1982_serial_number.py b/rfc1982_serial_number.py
old mode 100644
new mode 100755
index 9cb1a09..39fc414
--- a/rfc1982_serial_number.py
+++ b/rfc1982_serial_number.py
@@ -47,16 +47,18 @@ def step(start, finish):
         assert start < midpoint and midpoint < finish
         return start, midpoint, finish
 
-if __name__ == "__main__":
-    from random import randint
+def show(steps):
+    print(" => ".join(str(s) for s in steps))
+
+def main():
+    from argparse import ArgumentParser
 
-    for test in range(10000):
-        i1 = Serial(randint(0, Serial.modulus - 1))
-        i2 = Serial(randint(0, Serial.modulus - 1))
+    ap = ArgumentParser()
+    ap.add_argument("start", type = Serial)
+    ap.add_argument("finish", type = Serial)
+    args = ap.parse_args()
 
-        assert i1 == i2 or \
-            (i1 < i2 and not (i1 > i2)) or \
-            (i1 > i2 and not (i1 < i2)) or \
-            int(i1) & int(i2) == Serial.modulus >> 1
+    show(step(args.start, args.finish))
 
-        print(f"{i1} => {i2}: {', '.join(str(s) for s in step(i1, i2))}")
+if __name__ == "__main__":
+    main()
-- 
cgit v1.2.3