RegressionTests__SmallIntegerTest.st
author Stefan Vogel <sv@exept.de>
Tue, 11 Jun 2019 10:34:41 +0200
changeset 2321 32ea6329f5ad
parent 2144 6ae2075f4d5b
child 2326 5c21d3f32845
permissions -rw-r--r--
class: stx_goodies_regression class changed: #classNamesAndAttributes make classes autoloaded that stc cannot compile (yet)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
     1
"{ Package: 'stx:goodies/regression' }"
310
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:''
1074
905aea054cf4 category
Claus Gittinger <cg@exept.de>
parents: 619
diff changeset
     9
	category:'tests-Regression-Numbers'
310
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
1835
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    16
        |zero us1 us2 us3 us4 usm2 usm4|
619
f918fa22ad81 Circumvent compiler error about div by zero
Stefan Vogel <sv@exept.de>
parents: 364
diff changeset
    17
1835
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    18
        "circumvent compiler error about division by zero"
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    19
        zero := 0.
619
f918fa22ad81 Circumvent compiler error about div by zero
Stefan Vogel <sv@exept.de>
parents: 364
diff changeset
    20
1835
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    21
        self assert: 2 / 1 = 2.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    22
        self assert: (3 / 2) isFraction.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    23
        self assert: 4 / 2 = 2.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    24
        self assert: 4 / -2 = -2.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    25
        self assert: -4 / 2 = -2.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    26
        self assert: -4 / -2 = 2.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    27
        self should: [ 1 / zero ] raise: ZeroDivide.
1223
708a62eac280 class: RegressionTests::SmallIntegerTest
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    28
1835
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    29
        us1 := 1.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    30
        us2 := 2.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    31
        us3 := 3.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    32
        us4 := 4.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    33
        usm2 := -2.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    34
        usm4 := -4.
1223
708a62eac280 class: RegressionTests::SmallIntegerTest
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    35
1835
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    36
        self assert: us2 / us1 = us2.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    37
        self assert: (us3 / us2) isFraction.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    38
        self assert: us4 / us2 = 2.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    39
        self assert: us4 / usm2 = -2.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    40
        self assert: usm4 / us2 = -2.
e23ee59eb10c #BUGFIX by sr
sr
parents: 1766
diff changeset
    41
        self assert: usm4 / usm2 = 2.
364
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
    42
!
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
    43
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
    44
testMultiply
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
    45
    |i ii|
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
    46
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    47
    #(
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    48
	16r3fff
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    49
	16r7fff
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    50
	16rffff
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    51
	16r3fffffff
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    52
	16r7fffffff
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    53
	16rffffffff
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    54
	16r20000000
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    55
	16r40000000
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    56
	16r80000000
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    57
	16r100000000
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    58
	16r20000001
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    59
	16r40000001
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    60
	16r80000001
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    61
	16r100000001
1223
708a62eac280 class: RegressionTests::SmallIntegerTest
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    62
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    63
	"/ for 64 bit machines:
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    64
	16r3fffffffffffffff
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    65
	16r7fffffffffffffff
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    66
	16rffffffffffffffff
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    67
	16r2000000000000000
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    68
	16r4000000000000000
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    69
	16r8000000000000000
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    70
	16r10000000000000000
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    71
	16r2000000000000001
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    72
	16r4000000000000001
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    73
	16r8000000000000001
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    74
	16r10000000000000001
364
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
    75
    ) do:[:x |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    76
	i := x.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    77
	ii := i * i.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    78
	self assert:((ii / i) = i).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    79
	i class == SmallInteger ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    80
	    self assert:((ii / i) == i).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    81
	].
364
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
    82
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    83
	i := x negated.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    84
	ii := i * i.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    85
	self assert:((ii / i) = i).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    86
	i class == SmallInteger ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    87
	    self assert:((ii / i) == i).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    88
	].
364
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
    89
    ].
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
    90
!
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
    91
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
    92
testNegation
1596
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    93
    |i iN iNN iNNN|
364
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
    94
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
    95
    #(
1596
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    96
        16r1fffffff
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    97
        16r3fffffff
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    98
        16r7fffffff
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    99
        16rffffffff
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   100
        16r20000000
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   101
        16r40000000
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   102
        16r80000000
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   103
        16r100000000
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   104
        16r20000001
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   105
        16r40000001
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   106
        16r80000001
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   107
        16r100000001
1223
708a62eac280 class: RegressionTests::SmallIntegerTest
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   108
1596
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   109
        "/ for 64bit machines:
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   110
        16r3fffffffffffffff
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   111
        16r7fffffffffffffff
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   112
        16rffffffffffffffff
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   113
        16r2000000000000000
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   114
        16r4000000000000000
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   115
        16r8000000000000000
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   116
        16r10000000000000000
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   117
        16r2000000000000001
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   118
        16r4000000000000001
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   119
        16r8000000000000001
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   120
        16r10000000000000001
364
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
   121
    ) do:[:x |
1596
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   122
        i := x.
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   123
        iN := i negated.
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   124
        iNN := iN negated.
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   125
        iNNN := iNN negated.
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   126
        self assert:(i = iNN).
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   127
        i class == SmallInteger ifTrue:[
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   128
            self assert:(i == iNN).
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   129
        ].
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   130
        self assert:(iN = iNNN).
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   131
        iN class == SmallInteger ifTrue:[
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   132
            self assert:(iN == iNNN).
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   133
        ].
364
fd3ff5ad69f5 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 310
diff changeset
   134
    ].
1306
9b2ba728b70e #FEATURE
Claus Gittinger <cg@exept.de>
parents: 1223
diff changeset
   135
    self assert:(SmallInteger maxVal negated class == SmallInteger).
9b2ba728b70e #FEATURE
Claus Gittinger <cg@exept.de>
parents: 1223
diff changeset
   136
    self assert:(SmallInteger maxVal negated negated == SmallInteger maxVal).
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   137
1306
9b2ba728b70e #FEATURE
Claus Gittinger <cg@exept.de>
parents: 1223
diff changeset
   138
    self assert:(SmallInteger maxVal negated -1 == SmallInteger minVal).
9b2ba728b70e #FEATURE
Claus Gittinger <cg@exept.de>
parents: 1223
diff changeset
   139
    self assert:(SmallInteger minVal negated negated class == SmallInteger).
1596
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   140
77e41a57cda0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
   141
    "Modified: / 28-02-2017 / 16:42:04 / cg"
310
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
! !
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
2109
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   144
!SmallIntegerTest methodsFor:'tests-bit fiddling'!
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   145
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   146
testBitCount
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   147
     1 to:1000000 do:[:n |
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   148
        self assert:(n bitCount = ((n printStringRadix:2) occurrencesOf:$1))
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   149
     ].
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   150
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   151
     #( 16r00000000
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   152
        16r00010000 16r00100000 16r01000000 16r10000000
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   153
        16r00020000 16r00200000 16r02000000 16r20000000
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   154
        16r00040000 16r00400000 16r04000000 16r40000000
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   155
        16r00080000 16r00800000 16r08000000 16r80000000
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   156
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   157
        16rFFFFFFFF 16r7FFFFFFF 16r3FFFFFFF 16r1FFFFFFF
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   158
        16rEEEEEEEE 16r7EEEEEEE 16r3EEEEEEE 16r1EEEEEEE
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   159
        16rDDDDDDDD 16r7DDDDDDD 16r3DDDDDDD 16r1DDDDDDD
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   160
        16rCCCCCCCC 16r7CCCCCCC 16r3CCCCCCC 16r1CCCCCCC
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   161
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   162
        16r8000000000010000 16r8000000000100000 16r8000000001000000 16r8000000010000000
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   163
        16r8000000000020000 16r8000000000200000 16r8000000002000000 16r8000000020000000
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   164
        16r8000000000040000 16r8000000000400000 16r8000000004000000 16r8000000040000000
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   165
        16r8000000000080000 16r8000000000800000 16r8000000008000000 16r8000000080000000
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   166
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   167
        16r80000000FFFFFFFF 16r800000007FFFFFFF 16r800000003FFFFFFF 16r800000001FFFFFFF
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   168
        16r80000000EEEEEEEE 16r800000007EEEEEEE 16r800000003EEEEEEE 16r800000001EEEEEEE
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   169
        16r80000000DDDDDDDD 16r800000007DDDDDDD 16r800000003DDDDDDD 16r800000001DDDDDDD
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   170
        16r80000000CCCCCCCC 16r800000007CCCCCCC 16r800000003CCCCCCC 16r800000001CCCCCCC
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   171
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   172
        16rFFFFFFFFFFFFFFFF 16r7FFFFFFFFFFFFFFF 16r3FFFFFFFFFFFFFFF 16r1FFFFFFFFFFFFFFF
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   173
     ) do:[:n |
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   174
        self assert:(n bitCount = ((n printStringRadix:2) occurrencesOf:$1))
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   175
     ].
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   176
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   177
    "Created: / 20-03-2019 / 12:43:06 / Claus Gittinger"
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   178
!
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   179
2144
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   180
testBitReversed
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   181
    #( 
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   182
        2r10000000 2r00000001
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   183
        2r01000000 2r00000010
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   184
        2r00100000 2r00000100
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   185
        2r00010000 2r00001000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   186
        2r00001000 2r00010000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   187
        2r00000100 2r00100000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   188
        2r00000010 2r01000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   189
        2r00000001 2r10000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   190
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   191
        "/ high bits are to be ignored (i.e. clear) 
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   192
        2r100000001 2r10000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   193
        2r110000000 2r00000001
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   194
    )
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   195
    pairWiseDo:[:in :expected |
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   196
        self assert:(in bitReversed8 == expected)
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   197
    ].
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   198
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   199
    #( 
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   200
        2r1000000000000000 2r0000000000000001
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   201
        2r0100000000000000 2r0000000000000010
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   202
        2r0010000000000000 2r0000000000000100
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   203
        2r0001000000000000 2r0000000000001000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   204
        2r0000100000000000 2r0000000000010000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   205
        2r0000010000000000 2r0000000000100000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   206
        2r0000001000000000 2r0000000001000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   207
        2r0000000100000000 2r0000000010000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   208
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   209
        2r0000000010000000 2r0000000100000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   210
        2r0000000001000000 2r0000001000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   211
        2r0000000000100000 2r0000010000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   212
        2r0000000000010000 2r0000100000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   213
        2r0000000000001000 2r0001000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   214
        2r0000000000000100 2r0010000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   215
        2r0000000000000010 2r0100000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   216
        2r0000000000000001 2r1000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   217
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   218
        "/ high bits are to be ignored (i.e. clear) 
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   219
        2r10000000000000001 2r1000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   220
        2r11000000000000000 2r0000000000000001
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   221
    )
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   222
    pairWiseDo:[:in :expected |
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   223
        self assert:(in bitReversed16 == expected)
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   224
    ].
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   225
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   226
    #( 
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   227
        2r10000000000000000000000000000000 2r00000000000000000000000000000001
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   228
        2r01000000000000000000000000000000 2r00000000000000000000000000000010
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   229
        2r00100000000000000000000000000000 2r00000000000000000000000000000100
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   230
        2r00010000000000000000000000000000 2r00000000000000000000000000001000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   231
        2r00001000000000000000000000000000 2r00000000000000000000000000010000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   232
        2r00000100000000000000000000000000 2r00000000000000000000000000100000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   233
        2r00000010000000000000000000000000 2r00000000000000000000000001000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   234
        2r00000001000000000000000000000000 2r00000000000000000000000010000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   235
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   236
        2r00000000100000000000000000000000 2r00000000000000000000000100000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   237
        2r00000000010000000000000000000000 2r00000000000000000000001000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   238
        2r00000000001000000000000000000000 2r00000000000000000000010000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   239
        2r00000000000100000000000000000000 2r00000000000000000000100000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   240
        2r00000000000010000000000000000000 2r00000000000000000001000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   241
        2r00000000000001000000000000000000 2r00000000000000000010000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   242
        2r00000000000000100000000000000000 2r00000000000000000100000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   243
        2r00000000000000010000000000000000 2r00000000000000001000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   244
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   245
        2r00000000000000001000000000000000 2r00000000000000010000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   246
        2r00000000000000000100000000000000 2r00000000000000100000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   247
        2r00000000000000000010000000000000 2r00000000000001000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   248
        2r00000000000000000001000000000000 2r00000000000010000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   249
        2r00000000000000000000100000000000 2r00000000000100000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   250
        2r00000000000000000000010000000000 2r00000000001000000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   251
        2r00000000000000000000001000000000 2r00000000010000000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   252
        2r00000000000000000000000100000000 2r00000000100000000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   253
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   254
        2r00000000000000000000000010000000 2r00000001000000000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   255
        2r00000000000000000000000001000000 2r00000010000000000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   256
        2r00000000000000000000000000100000 2r00000100000000000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   257
        2r00000000000000000000000000010000 2r00001000000000000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   258
        2r00000000000000000000000000001000 2r00010000000000000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   259
        2r00000000000000000000000000000100 2r00100000000000000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   260
        2r00000000000000000000000000000010 2r01000000000000000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   261
        2r00000000000000000000000000000001 2r10000000000000000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   262
        
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   263
        "/ high bits are to be ignored (i.e. clear) 
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   264
        2r100000000000000000000000000000001 2r10000000000000000000000000000000
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   265
        2r110000000000000000000000000000000 2r00000000000000000000000000000001
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   266
    )
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   267
    pairWiseDo:[:in :expected |
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   268
        self assert:(in bitReversed32 = expected)
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   269
    ].
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   270
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   271
    "Created: / 24-03-2019 / 13:13:28 / Claus Gittinger"
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   272
!
6ae2075f4d5b #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2111
diff changeset
   273
2109
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   274
testBitShift
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   275
    #(
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   276
	(1 1 2)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   277
	(1 2 4)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   278
	(1 3 8)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   279
	(1 7 16r080)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   280
	(1 8 16r100)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   281
	(1 15 16r08000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   282
	(1 16 16r10000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   283
	(1 17 16r20000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   284
	(1 30 16r040000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   285
	(1 31 16r080000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   286
	(1 32 16r100000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   287
	(1 33 16r200000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   288
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   289
	(1 62 16r04000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   290
	(1 63 16r08000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   291
	(1 64 16r10000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   292
	(1 65 16r20000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   293
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   294
	(1 126 16r040000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   295
	(1 127 16r080000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   296
	(1 128 16r100000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   297
	(1 129 16r200000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   298
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   299
	(16r10 1 16r20)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   300
	(16r10 2 16r40)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   301
	(16r10 3 16r80)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   302
	(16r10 7 16r0800)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   303
	(16r10 8 16r1000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   304
	(16r10 15 16r080000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   305
	(16r10 16 16r100000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   306
	(16r10 17 16r200000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   307
	(16r10 30 16r0400000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   308
	(16r10 31 16r0800000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   309
	(16r10 32 16r1000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   310
	(16r10 33 16r2000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   311
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   312
	(16r10 62 16r040000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   313
	(16r10 63 16r080000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   314
	(16r10 64 16r100000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   315
	(16r10 65 16r200000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   316
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   317
	(16r10 126 16r0400000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   318
	(16r10 127 16r0800000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   319
	(16r10 128 16r1000000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   320
	(16r10 129 16r2000000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   321
    ) triplesDo:[:val :cnt :expected |
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   322
	|rslt1 rslt2|
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   323
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   324
	rslt1 := val bitShift:cnt.
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   325
	self assert:(rslt1 = expected).
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   326
	expected class == SmallInteger ifTrue:[
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   327
	    self assert:(rslt1 == expected)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   328
	].
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   329
	rslt2 := rslt1 bitShift:cnt negated.
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   330
	self assert:(rslt2 = val).
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   331
	val class == SmallInteger ifTrue:[
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   332
	    self assert:(rslt2 == val)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   333
	].
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   334
    ].
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   335
!
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   336
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   337
testBitShiftNegative
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   338
    #(
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   339
        (-1 1 -2)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   340
        (-1 2 -4)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   341
        (-1 3 -8)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   342
        (-1 7 16r-080)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   343
        (-1 8 16r-100)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   344
        (-1 15 16r-08000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   345
        (-1 16 16r-10000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   346
        (-1 17 16r-20000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   347
        (-1 30 16r-040000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   348
        (-1 31 16r-080000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   349
        (-1 32 16r-100000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   350
        (-1 33 16r-200000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   351
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   352
        (-1 62 16r-04000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   353
        (-1 63 16r-08000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   354
        (-1 64 16r-10000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   355
        (-1 65 16r-20000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   356
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   357
        (-1 126 16r-040000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   358
        (-1 127 16r-080000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   359
        (-1 128 16r-100000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   360
        (-1 129 16r-200000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   361
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   362
        (16r-10 1 16r-20)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   363
        (16r-10 2 16r-40)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   364
        (16r-10 3 16r-80)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   365
        (16r-10 7 16r-0800)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   366
        (16r-10 8 16r-1000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   367
        (16r-10 15 16r-080000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   368
        (16r-10 16 16r-100000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   369
        (16r-10 17 16r-200000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   370
        (16r-10 30 16r-0400000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   371
        (16r-10 31 16r-0800000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   372
        (16r-10 32 16r-1000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   373
        (16r-10 33 16r-2000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   374
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   375
        (16r-10 62 16r-040000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   376
        (16r-10 63 16r-080000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   377
        (16r-10 64 16r-100000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   378
        (16r-10 65 16r-200000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   379
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   380
        (16r-10 126 16r-0400000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   381
        (16r-10 127 16r-0800000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   382
        (16r-10 128 16r-1000000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   383
        (16r-10 129 16r-2000000000000000000000000000000000)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   384
    ) triplesDo:[:val :cnt :expected |
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   385
        |rslt1 rslt2|
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   386
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   387
        rslt1 := val bitShift:cnt.
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   388
        self assert:(rslt1 = expected).
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   389
        expected class == SmallInteger ifTrue:[
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   390
            self assert:(rslt1 == expected)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   391
        ].
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   392
        rslt2 := rslt1 bitShift:cnt negated.
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   393
        self assert:(rslt2 = val).
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   394
        val class == SmallInteger ifTrue:[
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   395
            self assert:(rslt2 == val)
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   396
        ].
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   397
    ].
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   398
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   399
    "Modified (format): / 19-09-2017 / 16:29:36 / stefan"
2111
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   400
!
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   401
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   402
testParity
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   403
     self assert:(1 parityOdd).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   404
     self assert:(2 parityOdd).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   405
     self assert:(3 parityOdd not).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   406
     self assert:(16r20000000 parityOdd).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   407
     self assert:(16r30000000 parityOdd not).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   408
     self assert:(16r40000000 parityOdd).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   409
     self assert:(16r50000000 parityOdd not).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   410
     self assert:(16rFFFFFFFF parityOdd not).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   411
     self assert:(16r2000000000000000 parityOdd).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   412
     self assert:(16r3000000000000000 parityOdd not).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   413
     self assert:(16r4000000000000000 parityOdd).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   414
     self assert:(16r5000000000000000 parityOdd not).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   415
     self assert:(16rFFFFFFFFFFFFFFFF parityOdd not).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   416
     self assert:(16r200000000000000000000000 parityOdd).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   417
     self assert:(16r300000000000000000000000 parityOdd not).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   418
     self assert:(16r400000000000000000000000 parityOdd).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   419
     self assert:(16r500000000000000000000000 parityOdd not).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   420
     self assert:(16rFFFFFFFFFFFFFFFFFFFFFFFF parityOdd not).
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   421
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   422
    "Created: / 20-03-2019 / 13:38:42 / Claus Gittinger"
2109
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   423
! !
851570e26c15 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 1882
diff changeset
   424
310
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
!SmallIntegerTest methodsFor:'tests-class protocol'!
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
testBasicNew
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   428
    self should: [SmallInteger basicNew] raise: TestResult error.
310
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
!
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
testMaxVal
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
    "/ the original code did not check for pointer-size;
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
    Smalltalk isSmalltalkX ifTrue:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   435
	SmallInteger maxBytes == 4 ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   436
	    self should: [SmallInteger maxVal = 16r3FFFFFFF].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   437
	    self should: [SmallInteger maxVal == 16r3FFFFFFF].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   438
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   439
	    self should: [SmallInteger maxVal = 16r3FFFFFFFFFFFFFFF].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   440
	    self should: [SmallInteger maxVal == 16r3FFFFFFFFFFFFFFF].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   441
	].
310
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
    ] ifFalse:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   443
	self should: [SmallInteger maxVal = 16r3FFFFFFF].
310
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
    ]
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
!
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
1347
e965d238a810 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
   447
testMaxValPointerSizeConsistency
e965d238a810 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
   448
    SmallInteger maxBytes == 4 ifTrue:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   449
	self assert: ((SmallInteger maxBits == 31) or:[SmallInteger maxBits == 32]).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   450
	self assert: (ExternalAddress pointerSize == 4).
1347
e965d238a810 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
   451
    ] ifFalse:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   452
	self assert: ((SmallInteger maxBits == 63) or:[SmallInteger maxBits == 64]).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1347
diff changeset
   453
	self assert: (ExternalAddress pointerSize == 8).
1347
e965d238a810 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
   454
    ]
e965d238a810 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
   455
!
e965d238a810 #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 1306
diff changeset
   456
310
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
testMinVal
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
    "/ the original code did not check for pointer-size;
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
    Smalltalk isSmalltalkX ifTrue:[
1709
1377a649bd18 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 1596
diff changeset
   461
        SmallInteger maxBytes == 4 ifTrue:[
1377a649bd18 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 1596
diff changeset
   462
            self should: [SmallInteger minVal = 16r-40000000].
1377a649bd18 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 1596
diff changeset
   463
            self should: [SmallInteger minVal == 16r-40000000].
1377a649bd18 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 1596
diff changeset
   464
        ] ifFalse:[
1377a649bd18 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 1596
diff changeset
   465
            self should: [SmallInteger minVal = 16r-4000000000000000].
1377a649bd18 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 1596
diff changeset
   466
            self should: [SmallInteger minVal == 16r-4000000000000000].
1377a649bd18 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 1596
diff changeset
   467
        ].
310
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
    ] ifFalse:[
1709
1377a649bd18 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 1596
diff changeset
   469
        self should: [SmallInteger minVal = 16r-40000000].
310
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
    ]
1709
1377a649bd18 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 1596
diff changeset
   471
1377a649bd18 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 1596
diff changeset
   472
    "Modified (format): / 19-09-2017 / 16:29:45 / stefan"
310
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
!
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
testNew
2111
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   476
    self should: [SmallInteger new] raise: Error.
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   477
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   478
    "Modified (comment): / 20-03-2019 / 14:57:12 / Claus Gittinger"
310
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
! !
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
!SmallIntegerTest class methodsFor:'documentation'!
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
version
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
    ^ '$Header$'
2111
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   485
!
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   486
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   487
version_CVS
76819317c155 #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 2109
diff changeset
   488
    ^ '$Header$'
310
f7a1f000a281 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
! !
1074
905aea054cf4 category
Claus Gittinger <cg@exept.de>
parents: 619
diff changeset
   490