#DOCUMENTATION by cg
class: RegressionTests::IntegerTest
added: #testReading2
changed: #testBitReversed
--- 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'!