[squeak-dev] The Trunk: CollectionsTests-ul.254.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Oct 10 14:10:17 UTC 2015
Levente Uzonyi uploaded a new version of CollectionsTests to project The Trunk:
http://source.squeak.org/trunk/CollectionsTests-ul.254.mcz
==================== Summary ====================
Name: CollectionsTests-ul.254
Author: ul
Time: 10 October 2015, 3:38:59.878 pm
UUID: 2c18cac6-27e3-48cd-94ce-e2cc617d71c5
Ancestors: CollectionsTests-topa.252, CollectionsTests-ul.253
Added thorough tests for #asIntegerSigned:.
=============== Diff against CollectionsTests-topa.252 ===============
Item was changed:
----- Method: ByteArrayTest>>testPlatformIndepentendIntegerAccessorsAtBitBorders (in category 'testing - platform independent access') -----
testPlatformIndepentendIntegerAccessorsAtBitBorders
#(
shortAt:put:bigEndian: shortAt:bigEndian: false 16
longAt:put:bigEndian: longAt:bigEndian: false 32
+ long64At:put:bigEndian: long64At:bigEndian: false 64
unsignedShortAt:put:bigEndian: unsignedShortAt:bigEndian: true 16
unsignedLongAt:put:bigEndian: unsignedLongAt:bigEndian: true 32
unsignedLong64At:put:bigEndian: unsignedLong64At:bigEndian: true 64
) groupsDo: [ :setter :getter :unsigned :storageBits |
self
verifyPlatformIndepentendIntegerAccessorsAtBitBordersSetter: setter
getter: getter
unsigned: unsigned
storageBits: storageBits ]!
Item was changed:
----- Method: ByteArrayTest>>testPlatformIndepentendIntegerAccessorsWithRandomValues (in category 'testing - platform independent access') -----
testPlatformIndepentendIntegerAccessorsWithRandomValues
| random |
random := Random seed: 36rSqueak.
#(
shortAt:put:bigEndian: shortAt:bigEndian: false 16
longAt:put:bigEndian: longAt:bigEndian: false 32
+ long64At:put:bigEndian: long64At:bigEndian: false 64
unsignedShortAt:put:bigEndian: unsignedShortAt:bigEndian: true 16
unsignedLongAt:put:bigEndian: unsignedLongAt:bigEndian: true 32
unsignedLong64At:put:bigEndian: unsignedLong64At:bigEndian: true 64
) groupsDo: [ :setter :getter :unsigned :storageBits |
self
verifyPlatformIndepentendIntegerAccessorsWithRandomValuesSetter: setter
getter: getter
unsigned: unsigned
storageBits: storageBits
random: random ]!
Item was changed:
----- Method: StringTest>>testAsInteger (in category 'tests - converting') -----
testAsInteger
+ #(
+ '' nil nil nil
+ '1796exportFixes-tkMX' 1796 1796 1796
+ 'donald' nil nil nil
+ 'abc234def567' 234 234 234
+ '-94' -94 -94 94
+ 'foo-bar-92' -92 -92 92
+ ) groupsDo: [ :inputString :asIntegerExpectedValue :asSignedIntegerExpectedValue :asUnsignedIntegerExpectedValue |
+ self
+ assert: asIntegerExpectedValue equals: inputString asInteger;
+ assert: asSignedIntegerExpectedValue equals: inputString asSignedInteger;
+ assert: asUnsignedIntegerExpectedValue equals: inputString asUnsignedInteger ]!
- self assert: '1796exportFixes-tkMX' asInteger = 1796.
- self assert: 'donald' asInteger isNil.
- self assert: 'abc234def567' asInteger = 234.
- self assert: '-94' asInteger = -94.
- self assert: 'foo-bar-92' asInteger = -92!
Item was added:
+ ----- Method: StringTest>>testAsIntegerSigned (in category 'tests - converting') -----
+ testAsIntegerSigned
+
+ #(
+ '' nil nil
+ '1796exportFixes-tkMX' 1796 1796
+ 'donald' nil nil
+ 'abc234def567' 234 234
+ '-94' -94 94
+ 'foo-bar-92' -92 92
+ '1234567890' 1234567890 1234567890
+ '--1234567890--' -1234567890 1234567890
+ '--1234567890123456789012345678901234567890--' -1234567890123456789012345678901234567890 1234567890123456789012345678901234567890
+ ) groupsDo: [ :inputString :expectedSignedValue :expectedUnsignedValue |
+ self
+ assert: expectedSignedValue equals: (inputString asIntegerSigned: true);
+ assert: expectedUnsignedValue equals: (inputString asIntegerSigned: false) ]!
Item was added:
+ ----- Method: StringTest>>testAsIntegerSignedUsingRandomNumbers (in category 'tests - converting') -----
+ testAsIntegerSignedUsingRandomNumbers
+
+ | random |
+ random := Random seed: 36rSqueak.
+ 1 to: 100 do: [ :digitLength |
+ 50 timesRepeat: [
+ | number inputString |
+ number := ((2 atRandom: random) = 1
+ ifTrue: [ LargePositiveInteger ]
+ ifFalse: [ LargeNegativeInteger ])
+ new: digitLength.
+ 1 to: digitLength do: [ :index | number at: index put: (256 atRandom: random) - 1 ].
+ number := number normalize.
+ inputString := number asString.
+ self
+ assert: number equals: (inputString asIntegerSigned: true);
+ assert: number abs equals: (inputString asIntegerSigned: false) ] ]!
Item was changed:
----- Method: WideStringTest>>testAsInteger (in category 'tests - converting') -----
testAsInteger
- self assert: '1796exportFixes-tkMX' asWideString asInteger = 1796.
- self assert: 'donald' asWideString asInteger isNil.
- self assert: 'abc234def567' asWideString asInteger = 234.
- self assert: '-94' asWideString asInteger = -94.
- self assert: 'foo-bar-92' asWideString asInteger = -92.
+ #(
+ '' nil nil nil
+ '1796exportFixes-tkMX' 1796 1796 1796
+ 'donald' nil nil nil
+ 'abc234def567' 234 234 234
+ '-94' -94 -94 94
+ 'foo-bar-92' -92 -92 92
+ ) groupsDo: [ :inputString :asIntegerExpectedValue :asSignedIntegerExpectedValue :asUnsignedIntegerExpectedValue |
+ | wideString |
+ wideString := inputString asWideString.
+ self
+ assert: asIntegerExpectedValue equals: wideString asInteger;
+ assert: asSignedIntegerExpectedValue equals: wideString asSignedInteger;
+ assert: asUnsignedIntegerExpectedValue equals: wideString asUnsignedInteger ]!
- self assert: '1796exportFixes-tkMX' asWideString asSignedInteger = 1796.
- self assert: 'donald' asWideString asSignedInteger isNil.
- self assert: 'abc234def567' asWideString asSignedInteger = 234.
- self assert: '-94' asWideString asSignedInteger = -94.
- self assert: 'foo-bar-92' asWideString asSignedInteger = -92.
-
- self assert: '1796exportFixes-tkMX' asWideString asUnsignedInteger = 1796.
- self assert: 'donald' asWideString asUnsignedInteger isNil.
- self assert: 'abc234def567' asWideString asUnsignedInteger = 234.
- self assert: '-94' asWideString asUnsignedInteger = 94.
- self assert: 'foo-bar-92' asWideString asUnsignedInteger = 92!
Item was added:
+ ----- Method: WideStringTest>>testAsIntegerSigned (in category 'tests - converting') -----
+ testAsIntegerSigned
+
+ #(
+ '' nil nil
+ '1796exportFixes-tkMX' 1796 1796
+ 'donald' nil nil
+ 'abc234def567' 234 234
+ '-94' -94 94
+ 'foo-bar-92' -92 92
+ '1234567890' 1234567890 1234567890
+ '--1234567890--' -1234567890 1234567890
+ '--1234567890123456789012345678901234567890--' -1234567890123456789012345678901234567890 1234567890123456789012345678901234567890
+ ) groupsDo: [ :inputString :expectedSignedValue :expectedUnsignedValue |
+ self
+ assert: expectedSignedValue equals: (inputString asIntegerSigned: true);
+ assert: expectedUnsignedValue equals: (inputString asIntegerSigned: false) ]!
Item was added:
+ ----- Method: WideStringTest>>testAsIntegerSignedUsingRandomNumbers (in category 'tests - converting') -----
+ testAsIntegerSignedUsingRandomNumbers
+
+ | random digitCharactersByValue |
+ random := Random seed: 36rSqueak.
+ digitCharactersByValue := (((0 to: 65535) collect: #asCharacter as: String) select: #isDigit)
+ groupBy: #digitValue.
+ 1 to: 100 do: [ :digitLength |
+ 50 timesRepeat: [
+ | number inputString |
+ number := ((2 atRandom: random) = 1
+ ifTrue: [ LargePositiveInteger ]
+ ifFalse: [ LargeNegativeInteger ])
+ new: digitLength.
+ 1 to: digitLength do: [ :index | number at: index put: (256 atRandom: random) - 1 ].
+ number := number normalize.
+ inputString := number asString asWideString.
+ inputString replace: [ :each |
+ each == $-
+ ifTrue: [ each ]
+ ifFalse: [ (digitCharactersByValue at: each digitValue) atRandom: random ] ].
+ self
+ assert: number equals: (inputString asIntegerSigned: true);
+ assert: number abs equals: (inputString asIntegerSigned: false) ] ]!
More information about the Squeak-dev
mailing list
|