RegressionTests__BinaryIOTests.st
changeset 1399 f58dbe20ecff
parent 1398 93f4ad683d94
child 1447 2351db93aa5b
--- a/RegressionTests__BinaryIOTests.st	Wed Apr 20 13:43:52 2016 +0200
+++ b/RegressionTests__BinaryIOTests.st	Wed Apr 20 13:51:42 2016 +0200
@@ -272,6 +272,7 @@
     |nums outStream bytes inStream verbose|
 
     verbose := false.
+    verbose := true.
 
     outStream := ByteArray new writeStream.
 
@@ -318,13 +319,13 @@
         16r1000000 
         16r1000001 
 
-        16r3FFFFFFF 
+        16r3FFFFFFF     "/ largest SmallInt on 32bit machines
         16r40000000 
         16r40000001 
-        16r7FFFFFFF 
+        16r7FFFFFFF     "/ largest FullInt on 32bit machines
         16r80000000 
         16r80000001
-        16rFFFFFFFF 
+        16rFFFFFFFF     "/ largest unsigned FullInt on 32bit machines
         16r100000000 
         16r100000001 
 
@@ -378,16 +379,26 @@
         16r1000000000000000000 
         16r1000000000000000001 
 
-        16r3FFFFFFFFFFFFFFFFFFF 
-        16r40000000000000000000 
+        16r3FFFFFFFFFFFFFFFFFFF     "/ largest SmallInt on 64bit machines 
+        16r40000000000000000000     "/ smallest SmallInt on 64bit machines
         16r40000000000000000001 
-        16r7FFFFFFFFFFFFFFFFFFF 
-        16r80000000000000000000 
+        16r7FFFFFFFFFFFFFFFFFFF     "/ largest FullInt on 64bit machines
+        16r80000000000000000000     
         16r80000000000000000001 
-        16rFFFFFFFFFFFFFFFFFFFF 
+        16rFFFFFFFFFFFFFFFFFFFF     "/ largest unsigned FullInt on 64bit machines
         16r100000000000000000000 
         16r100000000000000000001 
 
+        16r3FFFFFFFFFFFFFFFFFFFF 
+        16r400000000000000000000 
+        16r400000000000000000001 
+        16r7FFFFFFFFFFFFFFFFFFFF 
+        16r800000000000000000000 
+        16r800000000000000000001 
+        16rFFFFFFFFFFFFFFFFFFFFF 
+        16r1000000000000000000000 
+        16r1000000000000000000001 
+
         16r7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 
         16r80000000000000000000000000000000000000 
         16rFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 
@@ -436,6 +447,29 @@
 
     ].
 
+    "/ some very big numbers...
+    #( 10 20 30 50 100) do:[:n |
+        |written read|
+        
+        bytes := (written := n factorial) binaryStoreBytes.
+        verbose ifTrue:[
+            Transcript show:written.
+            Transcript show:' -> '.
+            Transcript showCR:bytes.
+        ].
+        read := Object fromBinaryStoreBytes:bytes.
+        self assert:(read = written).
+
+        bytes := (written := n factorial negated) binaryStoreBytes.
+        verbose ifTrue:[
+            Transcript show:written.
+            Transcript show:' -> '.
+            Transcript showCR:bytes.
+        ].
+        read := Object fromBinaryStoreBytes:bytes.
+        self assert:(read = written).
+    ].
+    
     "
      self run:#testIntegers1
      self new testIntegers1