New multiprecision integer arithmetic suite.
[u/mdw/catacomb] / tests / mptext
diff --git a/tests/mptext b/tests/mptext
new file mode 100644 (file)
index 0000000..d77582b
--- /dev/null
@@ -0,0 +1,30 @@
+# Test vectors for MP textual I/O
+#
+# $Id: mptext,v 1.1 1999/11/17 18:02:17 mdw Exp $
+
+mptext {
+
+  # --- Perfectly valid things ---
+
+  10 0                                 10 0;
+  0 0                                  10 0;
+  10 52                                        10 52;
+  10 654365464655464577673765769678    10 654365464655464577673765769678;
+  10 654365464655464577673765769678    16 8425e6d06f272b9a2d73ed1ce;
+  16 8425E6D06F272B9A2D73ED1CE         10 654365464655464577673765769678;
+  0 654365464655464577673765769678     16 8425e6d06f272b9a2d73ed1ce;
+  0 16_8425E6D06F272B9A2D73ED1CE       10 654365464655464577673765769678;
+  0 "-0x8425E6D06F272B9A2D73ED1CE"     10 "-654365464655464577673765769678";
+  8 "-366570443501403714657464766613"  10 "-596569802840985608098409867";
+  0 0366570443501403714657464766613    10 596569802840985608098409867;
+  
+
+  # --- Bogus things ---
+
+  10 "" 0 0;                   # Empty string fails
+  10 foo 0 0;                  # Non-numeric character
+  10 134f 10 134;              # Stop parsing when reaching `f'
+  4 12345 10 27;               # Stop parsing when reaching `4'
+  0 37_ 10 37;                 # 37 is an invalid base, so stop at `_'
+  0 36_ 0 0;                   # 36 is a valid base, so restart and fail
+}