RegressionTests__ScaledDecimalTest.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 18:53:03 +0200
changeset 2327 bf482d49aeaf
parent 2232 874f4efe15a5
child 2453 0c3a4a4d8f7f
permissions -rw-r--r--
#QUALITY by exept class: RegressionTests::StringTests added: #test82c_expanding
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1712
917c00360ef1 #BUGFIX by sr
sr
parents: 1711
diff changeset
     1
"{ Encoding: utf8 }"
917c00360ef1 #BUGFIX by sr
sr
parents: 1711
diff changeset
     2
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
     3
"{ Package: 'stx:goodies/regression' }"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
"{ NameSpace: RegressionTests }"
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
TestCase subclass:#ScaledDecimalTest
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	instanceVariableNames:''
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	classVariableNames:''
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
	poolDictionaries:''
1073
9b0ba74b1f48 category
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    11
	category:'tests-Regression-Numbers'
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
624
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
    15
!ScaledDecimalTest methodsFor:'helpers'!
620
8e10909bce70 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 317
diff changeset
    16
624
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
    17
literal_helper1
623
Claus Gittinger <cg@exept.de>
parents: 620
diff changeset
    18
    ^ 1.40s2.
620
8e10909bce70 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 317
diff changeset
    19
624
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
    20
    "Created: / 09-08-2011 / 21:11:13 / cg"
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
    21
! !
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
    22
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
    23
!ScaledDecimalTest methodsFor:'temporary'!
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
    24
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
    25
literal_helper2
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
    26
    ^ 1.40s2.
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
    27
! !
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
    28
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
    29
!ScaledDecimalTest methodsFor:'tests'!
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    31
test01_ParserDefaultIsToSupportFixedPointLiterals
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    32
    "the old setting was to disallow by default;
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    33
     it is now on, by default"
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    34
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    35
    self assert:(ParserFlags allowFixedPointLiterals).
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    36
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    37
    "Created: / 09-08-2011 / 21:23:56 / cg"
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    38
!
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    39
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    40
test02_AsNumber
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    41
	"Ensure no loss of precision"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    43
	| sd |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    44
	sd := '1.40s2' asNumber.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    45
	self assert: (ScaledDecimal ? FixedPoint) == sd class.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    46
	self assert: sd scale == 2.
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    48
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    49
	    self assert: '1.40' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    50
	    self assert: '1.40s2' = sd storeString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    51
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    52
	    self assert: '1.40s2' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    53
	]
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    54
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    55
    "Created: / 09-08-2011 / 21:25:31 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    58
test03_AsNumberNegatedWithoutDecimalPoint
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    60
	| sd |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    61
	sd := '-123s0' asNumber.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    62
	self assert: (ScaledDecimal ? FixedPoint) == sd class.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    63
	self assert: sd scale == 0.
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    65
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    66
	    self assert: '-123' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    67
	    self assert: '-123s0' = sd storeString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    68
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    69
	    self assert: '-123s0' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    70
	]
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    71
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    72
    "Created: / 09-08-2011 / 21:25:43 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    75
test04_AsNumberNegatedWithoutDecimalPoint2
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    77
	| sd |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    78
	sd := '-123s2' asNumber.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    79
	self assert: (ScaledDecimal ? FixedPoint) == sd class.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    80
	self assert: sd scale == 2.
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    82
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    83
	    self assert: '-123.00' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    84
	    self assert: '-123.00s2' = sd storeString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    85
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    86
	    self assert: '-123.00s2' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    87
	]
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    88
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    89
    "Created: / 09-08-2011 / 21:25:54 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
    92
test05_AsNumberWithExtendedScale
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    94
	| sd |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    95
	sd := '123s2' asNumber.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    96
	self assert: (ScaledDecimal ? FixedPoint) == sd class.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    97
	self assert: sd scale == 2.
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
    99
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   100
	    self assert: '123.00' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   101
	    self assert: '123.00s2' = sd storeString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   102
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   103
	    self assert: '123.00s2' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   104
	]
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   105
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   106
    "Created: / 09-08-2011 / 21:25:59 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   109
test06_AsNumberWithRadix
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   110
	| sd oldSetting |
317
637f102c2b9c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 313
diff changeset
   111
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   112
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   113
	    oldSetting := ParserFlags allowFixedPointLiterals.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   114
	    ParserFlags allowFixedPointLiterals:true.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   115
	    [
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   116
		sd := Number readSmalltalkSyntaxFrom:'10r-22.2s5'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   117
	    ] ensure:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   118
		ParserFlags allowFixedPointLiterals:oldSetting.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   119
	    ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   120
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   121
	    sd := '10r-22.2s5' asNumber.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   122
	].
317
637f102c2b9c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 313
diff changeset
   123
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   124
	self assert: (ScaledDecimal ? FixedPoint) == sd class.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   125
	self assert: sd scale == 5.
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   127
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   128
	    self assert: '-22.20000' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   129
	    self assert: '-22.20000s5' = sd storeString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   130
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   131
	    self assert: '-22.20000s5' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   132
	]
620
8e10909bce70 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 317
diff changeset
   133
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   134
    "Created: / 09-08-2011 / 21:26:05 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   137
test07_AsNumberWithSuperfluousDecimalPoint
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   139
	| sd |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   140
	sd := '123.s2' asNumber.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   141
	self assert: (ScaledDecimal ? FixedPoint) == sd class.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   142
	self assert: sd scale == 2.
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   144
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   145
	    self assert: '123.00' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   146
	    self assert: '123.00s2' = sd storeString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   147
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   148
	    self assert: '123.00s2' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   149
	]
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   150
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   151
    "Created: / 09-08-2011 / 21:26:20 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   154
test08_AsNumberWithoutDecimalPoint
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   156
	| sd |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   157
	sd := '123s0' asNumber.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   158
	self assert: (ScaledDecimal ? FixedPoint) == sd class.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   159
	self assert: sd scale == 0.
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   161
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   162
	    self assert: '123' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   163
	    self assert: '123s0' = sd storeString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   164
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   165
	    self assert: '123s0' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   166
	]
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   167
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   168
    "Created: / 09-08-2011 / 21:26:25 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   171
test09_AsNumberWithoutDecimalPoint2
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   173
	| sd |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   174
	sd := '123s2' asNumber.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   175
	self assert: (ScaledDecimal ? FixedPoint) == sd class.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   176
	self assert: sd scale == 2.
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   178
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   179
	    self assert: '123.00' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   180
	    self assert: '123.00s2' = sd storeString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   181
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   182
	    self assert: '123.00s2' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   183
	]
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   184
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   185
    "Created: / 09-08-2011 / 21:26:30 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   188
test10_ConvertFromFloat
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   190
	| aFloat sd f2 diff |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   191
	aFloat := 11/13 asFloat.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   192
	sd := aFloat asScaledDecimal: 2.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   193
	self assert: 2 == sd scale.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   194
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   195
	    self assert: '0.85' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   196
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   197
	    self assert: '0.84s2' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   198
	].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   199
	f2 := sd asFloat.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   200
	diff := f2 - aFloat.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   201
	self assert: diff < 1.0e-9. "actually, f = f2, but this is not a requirement"
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   202
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   203
    "Created: / 09-08-2011 / 21:26:38 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   206
test11_ConvertFromFraction
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   208
	| sd |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   209
	sd := (13 / 11) asScaledDecimal: 6.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   210
	self assert: (ScaledDecimal ? FixedPoint) == sd class.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   211
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   212
	    self assert: ('1.181818' = sd printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   213
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   214
	    self assert: ('1.181818s6' = sd printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   215
	].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   216
	self assert: 6 == sd scale
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   217
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   218
    "Created: / 09-08-2011 / 21:26:43 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   221
test12_ConvertFromInteger
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   222
	"Converting an Integer to a ScaledDecimal yields a ScaledDecimal with
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   223
	scale 0, regardless of the scale specified in the #asScaledDecimal: message."
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   225
	| sd |
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   227
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   228
	    "/ I think this behavior is wrong.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   229
	    ^ self.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   230
	].
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   232
	sd := 13 asScaledDecimal: 6.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   233
	self assert: 0 = sd scale.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   234
	self assert: ('13s0' = sd printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   235
	sd := -13 asScaledDecimal: 6.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   236
	self assert: 0 = sd scale.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   237
	self assert: ('-13s0' = sd printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   238
	sd := 130000000013 asScaledDecimal: 6.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   239
	self assert: 0 = sd scale.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   240
	self assert: ('130000000013s0' = sd printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   241
	sd := -130000000013 asScaledDecimal: 6.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   242
	self assert: 0 = sd scale.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   243
	self assert: ('-130000000013s0' = sd printString)
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   244
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   245
    "Created: / 09-08-2011 / 21:26:46 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   248
test13_Literal1
623
Claus Gittinger <cg@exept.de>
parents: 620
diff changeset
   249
    "s2 is not a message to be sent to a float"
624
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   250
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   251
    self
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   252
	shouldnt:[ self literal_helper1 ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   253
	raise:MessageNotUnderstood
623
Claus Gittinger <cg@exept.de>
parents: 620
diff changeset
   254
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   255
    "Created: / 09-08-2011 / 21:26:55 / cg"
623
Claus Gittinger <cg@exept.de>
parents: 620
diff changeset
   256
!
Claus Gittinger <cg@exept.de>
parents: 620
diff changeset
   257
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   258
test14_Literal2
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   259
	| sd |
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   261
	sd := 1.40s2.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   262
	self assert: (ScaledDecimal ? FixedPoint) == sd class.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   263
	self assert: sd scale == 2.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   264
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   265
	    self assert: '1.40' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   266
	    self assert: '1.40s2' = sd storeString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   267
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   268
	    self assert: '1.40s2' = sd printString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   269
	].
623
Claus Gittinger <cg@exept.de>
parents: 620
diff changeset
   270
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   271
    "Created: / 09-08-2011 / 21:27:01 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   274
test15_LiteralInSTC
624
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   275
    |value|
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   276
2232
874f4efe15a5 #BUGFIX by Stefan Reise
sr
parents: 1881
diff changeset
   277
    self 
874f4efe15a5 #BUGFIX by Stefan Reise
sr
parents: 1881
diff changeset
   278
        skipIf:ExternalAddress pointerSize = 8 
874f4efe15a5 #BUGFIX by Stefan Reise
sr
parents: 1881
diff changeset
   279
        description:'Compile does not work under 64bit'.
874f4efe15a5 #BUGFIX by Stefan Reise
sr
parents: 1881
diff changeset
   280
1881
b9428cd9ca40 #REFACTORING by sr
sr
parents: 1712
diff changeset
   281
    (Helper
b9428cd9ca40 #REFACTORING by sr
sr
parents: 1712
diff changeset
   282
        isStcCompiledMethod:#test15_LiteralInSTC
b9428cd9ca40 #REFACTORING by sr
sr
parents: 1712
diff changeset
   283
        in:self) ifTrue:[
b9428cd9ca40 #REFACTORING by sr
sr
parents: 1712
diff changeset
   284
            self 
b9428cd9ca40 #REFACTORING by sr
sr
parents: 1712
diff changeset
   285
                skipIf:true
b9428cd9ca40 #REFACTORING by sr
sr
parents: 1712
diff changeset
   286
                description:'#compile is not available in stand alone apps'.
b9428cd9ca40 #REFACTORING by sr
sr
parents: 1712
diff changeset
   287
        ].            
b9428cd9ca40 #REFACTORING by sr
sr
parents: 1712
diff changeset
   288
624
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   289
    Class withoutUpdatingChangesDo:[
1712
917c00360ef1 #BUGFIX by sr
sr
parents: 1711
diff changeset
   290
        self class
917c00360ef1 #BUGFIX by sr
sr
parents: 1711
diff changeset
   291
            compile:
624
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   292
'literal_helper2
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   293
    ^ 1.40s2.
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   294
'
1712
917c00360ef1 #BUGFIX by sr
sr
parents: 1711
diff changeset
   295
            classified:'temporary'.
624
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   296
1712
917c00360ef1 #BUGFIX by sr
sr
parents: 1711
diff changeset
   297
        Compiler stcCompileMethod:(self class compiledMethodAt:#literal_helper2).
624
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   298
    ].
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   299
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   300
    self
1712
917c00360ef1 #BUGFIX by sr
sr
parents: 1711
diff changeset
   301
        shouldnt:[ self literal_helper2 ]
917c00360ef1 #BUGFIX by sr
sr
parents: 1711
diff changeset
   302
        raise:MessageNotUnderstood.
624
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   303
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   304
    value := self literal_helper2.
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   305
    self assert:( value isFixedPoint ).
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   306
    self assert:( (value * 10) = 14 ).
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   307
    self assert:( value asFloat = 1.4 ).
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   308
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   309
    "Created: / 09-08-2011 / 21:27:07 / cg"
2232
874f4efe15a5 #BUGFIX by Stefan Reise
sr
parents: 1881
diff changeset
   310
    "Modified: / 21-05-2019 / 16:21:19 / Stefan Reise"
624
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   311
!
Claus Gittinger <cg@exept.de>
parents: 623
diff changeset
   312
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   313
test16_PrintString
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   314
	"The printed representation of a ScaledDecimal is truncated, not rounded.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   315
	Not sure if this is right, so this test describes the current Squeak implementation.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   316
	If someone knows a reason that rounding would be preferable, then update
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   317
	this test."
313
347d94236f10 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   318
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   319
	| sd |
313
347d94236f10 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   320
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   321
	sd := (13 / 11) asScaledDecimal: 6.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   322
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   323
	    self assert: ('1.181818' = sd printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   324
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   325
	    self assert: ('1.181818s6' = sd printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   326
	].
313
347d94236f10 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   327
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   328
	sd := (13 / 11) asScaledDecimal: 5.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   329
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   330
	    self assert: ('1.18182' = sd printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   331
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   332
	    self deny: ('1.18182s5' = sd printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   333
	].
313
347d94236f10 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   334
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   335
	sd := (13 / 11) asScaledDecimal: 5.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   336
	Smalltalk isSmalltalkX ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   337
	    self deny: ('1.18181' = sd printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   338
	] ifFalse:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   339
	    self assert: ('1.18181s5' = sd printString).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   340
	].
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   341
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   342
    "Created: / 09-08-2011 / 21:27:49 / cg"
313
347d94236f10 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   343
!
347d94236f10 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 312
diff changeset
   344
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   345
test17_StoreAndRead
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
    |check|
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
    check := [:originalNum |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   349
	|s readNum|
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   351
	s := originalNum storeString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   352
	readNum := Number readFrom:s.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1073
diff changeset
   353
	self assert:readNum = originalNum.
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
    ].
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
    check value:((FixedPoint fromString:'0.66666666')                   ).
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
    check value:((FixedPoint fromString:'0.66666666') withScale:2       ).
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
    check value:((FixedPoint fromString:'1.5')                          ).
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
    check value:((FixedPoint fromString:'1.5') withScale:2              ).
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
    check value:((FixedPoint fromString:'1.5') withScale:1              ).
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
    check value:((FixedPoint fromString:'1.5') withScale:0              ).
625
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   363
9ed02c4fa1d0 added:18 methods
Claus Gittinger <cg@exept.de>
parents: 624
diff changeset
   364
    "Created: / 09-08-2011 / 21:27:53 / cg"
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
! !
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
!ScaledDecimalTest class methodsFor:'documentation'!
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
version
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
    ^ '$Header$'
623
Claus Gittinger <cg@exept.de>
parents: 620
diff changeset
   371
!
Claus Gittinger <cg@exept.de>
parents: 620
diff changeset
   372
Claus Gittinger <cg@exept.de>
parents: 620
diff changeset
   373
version_CVS
Claus Gittinger <cg@exept.de>
parents: 620
diff changeset
   374
    ^ '$Header$'
312
d39568c0560e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
! !
1073
9b0ba74b1f48 category
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   376