--- a/RegressionTests__IntegerTest.st Tue Dec 06 14:34:24 2016 +0100
+++ b/RegressionTests__IntegerTest.st Wed Dec 07 12:28:40 2016 +0100
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
"{ Package: 'stx:goodies/regression' }"
"{ NameSpace: RegressionTests }"
@@ -3963,6 +3961,32 @@
"
!
+testNextPowerOfTwo
+ "/ self assert:(0 nextPowerOf2 = 0).
+ self assert:(1 nextPowerOf2 = 1).
+ self assert:(2 nextPowerOf2 = 2).
+ self assert:(3 nextPowerOf2 = 4).
+ self assert:(4 nextPowerOf2 = 4).
+ self assert:(5 nextPowerOf2 = 8).
+ self assert:(6 nextPowerOf2 = 8).
+ self assert:(7 nextPowerOf2 = 8).
+ self assert:(8 nextPowerOf2 = 8).
+ self assert:(9 nextPowerOf2 = 16).
+
+ self assert:(22 nextPowerOf2 = 32).
+ self assert:(32 nextPowerOf2 = 32).
+ self assert:(16rFFFF nextPowerOf2 = 16r10000).
+ self assert:(16rFFFFFFFF nextPowerOf2 = 16r100000000).
+ self assert:(16r1FFFFFFFFFFFFFFF nextPowerOf2 = 16r2000000000000000).
+ self assert:(16r3FFFFFFFFFFFFFFF nextPowerOf2 = 16r4000000000000000).
+ self assert:(16r7FFFFFFFFFFFFFFF nextPowerOf2 = 16r8000000000000000).
+ self assert:(16rFFFFFFFFFFFFFFFF nextPowerOf2 = 16r10000000000000000).
+
+ "
+ self basicNew testNextPowerOfTwo
+ "
+!
+
testPrinting1
self assert:(10 printString = '10').
self assert:(100 printString = '100').
@@ -4716,14 +4740,19 @@
n2 := n1 negated.
n3 := n2 negated.
- self assert:(n1 class == SmallInteger).
- self assert:(n2 class == SmallInteger).
- self assert:(n3 == n1).
-
+ SmallInteger maxBytes == 8 ifTrue:[
+ self assert:(n1 class == SmallInteger).
+ self assert:(n2 class == SmallInteger).
+ self assert:(n3 == n1).
+ self assert:(n2 == -16rfFFFFFFF).
+ self assert:(n1 == 16rfFFFFFFF).
+ ] ifFalse:[
+ self assert:(n1 class == LargeInteger).
+ self assert:(n2 class == LargeInteger).
+ self assert:(n3 = n1).
+ ].
self assert:(n1 = 16rfFFFFFFF).
self assert:(n2 = -16rfFFFFFFF).
- self assert:(n1 == 16rfFFFFFFF).
- self assert:(n2 == -16rfFFFFFFF).
self assert:(n1 printString = '4294967295').
self assert:(n2 printString = '-4294967295').
@@ -4756,6 +4785,8 @@
"
self basicNew testSmallIntegerNegation
"
+
+ "Modified: / 10-10-2016 / 23:31:11 / cg"
! !
!IntegerTest methodsFor:'tests-class protocol'!