RegressionTests__SmallIntegerTest.st
author Claus Gittinger <cg@exept.de>
Fri, 17 Feb 2006 13:31:50 +0100
changeset 310 f7a1f000a281
child 364 fd3ff5ad69f5
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
310
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'exept:regression' }"
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: RegressionTests }"
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
TestCase subclass:#SmallIntegerTest
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:''
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	category:'tests-Regression'
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
!SmallIntegerTest methodsFor:'tests-arithmetic'!
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
testDivide
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
        self assert: 2 / 1 = 2.
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
        self assert: (3 / 2) isFraction.
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
        self assert: 4 / 2 = 2.
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
        self should: [ 1 / 0 ] raise: ZeroDivide.
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
! !
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
!SmallIntegerTest methodsFor:'tests-class protocol'!
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
testBasicNew
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
    self should: [SmallInteger basicNew] raise: TestResult error. 
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
!
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
testMaxVal
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
    "/ the original code did not check for pointer-size;
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
    Smalltalk isSmalltalkX ifTrue:[
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
        SmallInteger maxBytes == 4 ifTrue:[
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
            self should: [SmallInteger maxVal = 16r3FFFFFFF].
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
            self should: [SmallInteger maxVal == 16r3FFFFFFF].
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
        ] ifFalse:[
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
            self should: [SmallInteger maxVal = 16r3FFFFFFFFFFFFFFF].
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
            self should: [SmallInteger maxVal == 16r3FFFFFFFFFFFFFFF].
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
        ].
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
    ] ifFalse:[
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
        self should: [SmallInteger maxVal = 16r3FFFFFFF].
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    ]
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
testMinVal
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    "/ the original code did not check for pointer-size;
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    Smalltalk isSmalltalkX ifTrue:[
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
        SmallInteger maxBytes == 4 ifTrue:[
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
            self should: [SmallInteger minVal = -16r40000000].
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
            self should: [SmallInteger minVal == -16r40000000].
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
        ] ifFalse:[
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
            self should: [SmallInteger minVal = -16r4000000000000000].
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
            self should: [SmallInteger minVal == -16r4000000000000000].
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
        ].
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    ] ifFalse:[
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
        self should: [SmallInteger minVal = -16r40000000].
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    ]
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
!
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
testNew
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    self should: [SmallInteger new] raise: TestResult error. 
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
! !
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
!SmallIntegerTest class methodsFor:'documentation'!
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
version
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    ^ '$Header$'
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
! !