--- a/RegressionTests__IntegerTest.st Mon Feb 01 19:03:16 2016 +0100
+++ b/RegressionTests__IntegerTest.st Thu Feb 11 14:30:45 2016 +0100
@@ -842,7 +842,7 @@
"
!
-testDivision
+testDivision1
|a b op rslt|
"/ 10 divMod:3 -> #(3 1) because 3*3 + 1 = 10
@@ -1179,6 +1179,84 @@
"
!
+testDivision2
+ |nr|
+
+ 2 to:17 do:[:m |
+ nr := 1.
+ 1 to:1000 do:[:n |
+ nr := nr * m
+ ].
+ 1 to:1000 do:[:n |
+ nr := nr / m
+ ].
+ self assert:(nr == 1).
+ ].
+
+ "
+ self new testDivision2
+ "
+!
+
+testDivision3
+ |nr|
+
+ #(
+ 16r00000000000000003F
+ 16r000000000000003FFF
+ 16r0000000000003FFFFF
+ 16r00000000003FFFFFFF
+ 16r000000003FFFFFFFFF
+ 16r0000003FFFFFFFFFFF
+ 16r00003FFFFFFFFFFFFF
+ 16r003FFFFFFFFFFFFFFF
+ 16r3FFFFFFFFFFFFFFFFF
+
+ 16r000000000000000040
+ 16r0000000000000040FF
+ 16r00000000000040FFFF
+ 16r000000000040FFFFFF
+ 16r0000000040FFFFFFFF
+ 16r00000040FFFFFFFFFF
+ 16r000040FFFFFFFFFFFF
+ 16r0040FFFFFFFFFFFFFF
+ 16r40FFFFFFFFFFFFFFFF
+
+ 16r00000000000000007F
+ 16r000000000000007FFF
+ 16r0000000000007FFFFF
+ 16r00000000007FFFFFFF
+ 16r000000007FFFFFFFFF
+ 16r0000007FFFFFFFFFFF
+ 16r00007FFFFFFFFFFFFF
+ 16r007FFFFFFFFFFFFFFF
+ 16r7FFFFFFFFFFFFFFFFF
+
+ 16r0000000000000000FF
+ 16r00000000000000FFFF
+ 16r000000000000FFFFFF
+ 16r0000000000FFFFFFFF
+ 16r00000000FFFFFFFFFF
+ 16r000000FFFFFFFFFFFF
+ 16r0000FFFFFFFFFFFFFF
+ 16r00FFFFFFFFFFFFFFFF
+ 16rFFFFFFFFFFFFFFFFFF
+ ) do:[:m |
+ nr := 1.
+ 1 to:1000 do:[:n |
+ nr := nr * m
+ ].
+ 1 to:1000 do:[:n |
+ nr := nr / m
+ ].
+ self assert:(nr == 1).
+ ].
+
+ "
+ self new testDivision2
+ "
+!
+
testEncodeDecode
self assert:(1 encodeAsBCD hexPrintString = '1').
self assert:(12 encodeAsBCD hexPrintString = '12').
@@ -3473,6 +3551,24 @@
"
!
+testReadingPrinting1
+ |nr inString outString|
+
+ #(2 3 4 5 8 10 16) do:[:radix |
+ Transcript showCR:('testing radix %1...' bindWith:radix).
+ 1 to:1000 do:[:len |
+ inString := '1',(String new:len withAll:$0).
+ nr := Integer readFrom:inString radix:radix.
+ outString := nr printStringRadix:radix.
+ self assert:(outString = inString).
+ ].
+ ].
+
+ "
+ self basicNew testReadingPrinting1
+ "
+!
+
testSmallIntegerArithmetic
"arithmetic tests.
Notice, the arithmetic tests are both performed via regular sends