#DOCUMENTATION by cg
authorClaus Gittinger <cg@exept.de>
Wed, 27 Mar 2019 18:34:04 +0100
changeset 2189 5c1b6dc15541
parent 2188 11bf104c2bdd
child 2190 df0e2fac468d
#DOCUMENTATION by cg class: RegressionTests::IntegerTest added: #testReading2 changed: #testBitReversed
RegressionTests__IntegerTest.st
--- a/RegressionTests__IntegerTest.st	Wed Mar 27 14:54:36 2019 +0100
+++ b/RegressionTests__IntegerTest.st	Wed Mar 27 18:34:04 2019 +0100
@@ -4431,6 +4431,41 @@
     "Modified: / 19-09-2017 / 16:27:56 / stefan"
 !
 
+testReading2
+    #(
+        305419896
+        16r1FFFFFFF
+        16r3FFFFFFF
+        16r7FFFFFFF
+        16rFFFFFFFF
+        16r1FFFFFFFFFFFFFFF
+        16r3FFFFFFFFFFFFFFF
+        16r7FFFFFFFFFFFFFFF
+        16rFFFFFFFFFFFFFFFF
+        16r1FFFFFFFFFFFFFFFFFFFFFFF
+        16r3FFFFFFFFFFFFFFFFFFFFFFF
+        16r7FFFFFFFFFFFFFFFFFFFFFFF
+        16rFFFFFFFFFFFFFFFFFFFFFFFF
+        16r1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        16r3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        16r7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+        16rFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+    ) do:[:each | 
+        |s|
+
+        2 to:35 do:[:radix |
+            s := each printStringRadix:radix.
+            self assert:(Integer readFrom:s radix:radix) = each
+        ]
+    ].
+
+    "
+     self basicNew testReading2
+    "
+
+    "Created: / 27-03-2019 / 18:00:54 / Claus Gittinger"
+!
+
 testReadingPrinting1
     |nr inString outString|
 
@@ -5210,7 +5245,61 @@
         self assert:(in bitReversed16 == expected)
     ].
 
+    0 to:1000 do:[:n |
+        |nr|
+        
+        nr := (1 bitShift:n).
+        n < 16 ifTrue:[
+            self assert:((nr bitReversed16) bitReversed16) = nr.
+        ].    
+        n < 32 ifTrue:[
+            self assert:((nr bitReversed32) bitReversed32) = nr.
+        ].    
+        n < 64 ifTrue:[
+            self assert:((nr bitReversed64) bitReversed64) = nr.
+        ].    
+    ].
+    
+    #(
+      16r12345678 
+      16r23456781 
+      16r34567812 
+      16r45678123 
+      16r56781234 
+      16r67812345 
+      16r78123456 
+      16r81234567 
+    ) do:[:each |
+        |s1 s2 s1Padded s2Padded|
+
+        s1 := each printStringRadix:2.
+        s2 := each bitReversed32 printStringRadix:2.
+        s1Padded := s1 leftPaddedTo:32 with:$0.
+        s2Padded := s2 leftPaddedTo:32 with:$0.
+        self assert:(s1Padded = s2Padded reversed).
+    ].
+
+    #(
+      16r123456789ABCDEF0 
+      16r23456789ABCDEF01 
+      16r3456789ABCDEF012 
+      16r456789ABCDEF0123 
+      16r56789ABCDEF01234 
+      16r6789ABCDEF012345 
+      16r789ABCDEF0123456 
+      16r89ABCDEF01234567 
+    ) do:[:each |
+        |s1 s2 s1Padded s2Padded|
+
+        s1 := each printStringRadix:2.
+        s2 := each bitReversed64 printStringRadix:2.
+        s1Padded := s1 leftPaddedTo:64 with:$0.
+        s2Padded := s2 leftPaddedTo:64 with:$0.
+        self assert:(s1Padded = s2Padded reversed).
+    ].
+
     "Created: / 24-03-2019 / 11:36:18 / Claus Gittinger"
+    "Modified: / 27-03-2019 / 18:29:33 / Claus Gittinger"
 ! !
 
 !IntegerTest methodsFor:'tests-class protocol'!