[squeak-dev] The Trunk: VersionNumberTests-ct.5.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Jan 31 19:45:41 UTC 2022
Christoph Thiede uploaded a new version of VersionNumberTests to project The Trunk:
http://source.squeak.org/trunk/VersionNumberTests-ct.5.mcz
==================== Summary ====================
Name: VersionNumberTests-ct.5
Author: ct
Time: 31 January 2022, 8:45:40.499214 pm
UUID: af22c47a-3ca5-e340-8598-026eb9f9c6d5
Ancestors: VersionNumberTests-fbs.4
Complements SUnit-ct.130 (deprecation of TestResult error) and SUnit-ct.138 (new convenience #shouldRaiseError:).
=============== Diff against VersionNumberTests-fbs.4 ===============
Item was changed:
----- Method: VersionNumberTest>>testAsVersion (in category 'Tests') -----
testAsVersion
"note: a version number string '3 2 1' will only consider the first number as a version, ignoring the trailing '2 1'. Whether it is a desired feature or not should be determined."
| numbers |
numbers := {
'' -> #(). '1 '-> #(1). '1.2' -> #(1 2). '3.4.5' -> #(3 4 5).
'6.7.890' -> #(6 7 890). '9 8' -> #(9). '98 7 6' -> #(98). '54.3 2 1' -> #(54 3)
}.
numbers do: [:item | | version |
version := (item key) asVersion.
self assert: (VersionNumber = version class).
self assert: ((item value) = version numbers).
].
self assert: 9999999999999999999 equals: '9999999999999999999' asVersion numbers first.
+ self shouldRaiseError: ['-1' asVersion].
+ self shouldRaiseError: [' 1' asVersion]. "notice leading space!!"
+ self shouldRaiseError: ['version' asVersion].
+ self shouldRaiseError: ['1.2.10.20.-1.4' asVersion].
+ self shouldRaiseError: ['1.2.10.20.R4' asVersion].!
- self should: ['-1' asVersion] raise: TestResult error.
- self should: [' 1' asVersion] raise: TestResult error. "notice leading space!!"
- self should: ['version' asVersion] raise: TestResult error.
- self should: ['1.2.10.20.-1.4' asVersion] raise: TestResult error.
- self should: ['1.2.10.20.R4' asVersion] raise: TestResult error.!
Item was changed:
----- Method: VersionNumberTest>>testFromCollection (in category 'Tests') -----
testFromCollection
| numbers |
numbers := #(#(1) #(1 2) #(3 4 5) #(6 7 890)).
numbers do: [:item | | version |
version := VersionNumber fromCollection: item.
self assert: (VersionNumber = version class).
self assert: (item = version numbers).
].
self assert: #() equals: (VersionNumber fromCollection: #()) numbers.
self assert: #(9999999999999999999) equals: (VersionNumber fromCollection: #(9999999999999999999)) numbers.
+ self shouldRaiseError: [VersionNumber fromCollection: #(0)].
+ self shouldRaiseError: [VersionNumber fromCollection: #(-1)].
+ self shouldRaiseError: [VersionNumber fromCollection: #(1 2 10 20 -1 4)].
+ self shouldRaiseError: [VersionNumber fromCollection: #(1 2 10 20 '1' 4)].
+ self shouldRaiseError: [VersionNumber fromCollection: #('version')].!
- self should: [VersionNumber fromCollection: #(0)] raise: TestResult error.
- self should: [VersionNumber fromCollection: #(-1)] raise: TestResult error.
- self should: [VersionNumber fromCollection: #(1 2 10 20 -1 4)] raise: TestResult error.
- self should: [VersionNumber fromCollection: #(1 2 10 20 '1' 4)] raise: TestResult error.
- self should: [VersionNumber fromCollection: #('version')] raise: TestResult error.
- !
Item was changed:
----- Method: VersionNumberTest>>testFromString (in category 'Tests') -----
testFromString
"note: a version number string '3 2 1' will only consider the first number as a version, ignoring the trailing '2 1'. Whether it is a desired feature or not should be determined."
| numbers |
numbers := {
'' -> #(). '1 '-> #(1). '1.2' -> #(1 2). '3.4.5' -> #(3 4 5).
'6.7.890' -> #(6 7 890). '9 8' -> #(9). '98 7 6' -> #(98). '54.3 2 1' -> #(54 3)
}.
numbers do: [:item | | version |
version := VersionNumber fromString: (item key).
self assert: (VersionNumber = version class).
self assert: ((item value) = version numbers).
].
self assert: #(9999999999999999999) equals: (VersionNumber fromString: '9999999999999999999') numbers.
+ self shouldRaiseError: [VersionNumber fromString: '-1'].
+ self shouldRaiseError: [VersionNumber fromString: ' 1']. "notice leading space!!"
+ self shouldRaiseError: [VersionNumber fromString: 'version'].
+ self shouldRaiseError: [VersionNumber fromString: '1.2.10.20.-1.4'].
+ self shouldRaiseError: [VersionNumber fromString: '1.2.10.20.R4'].!
- self should: [VersionNumber fromString: '-1'] raise: TestResult error.
- self should: [VersionNumber fromString: ' 1'] raise: TestResult error. "notice leading space!!"
- self should: [VersionNumber fromString: 'version'] raise: TestResult error.
- self should: [VersionNumber fromString: '1.2.10.20.-1.4'] raise: TestResult error.
- self should: [VersionNumber fromString: '1.2.10.20.R4'] raise: TestResult error.
- !
Item was changed:
----- Method: VersionNumberTest>>testInitializeNumbers (in category 'Tests') -----
testInitializeNumbers
| numbers |
numbers := #(#(1) #(1 2) #(3 4 5) #(6 7 890)).
numbers do: [:item | | version |
version := VersionNumber new initializeNumbers: item.
self assert: (VersionNumber = version class).
self assert: (item = version numbers).
].
self assert: #() equals: (VersionNumber new initializeNumbers: #()) numbers.
self assert: #(9999999999999999999) equals: (VersionNumber new initializeNumbers: #(9999999999999999999)) numbers.
+ self shouldRaiseError: [VersionNumber new initializeNumbers: #(0)].
+ self shouldRaiseError: [VersionNumber new initializeNumbers: #(-1)].
+ self shouldRaiseError: [VersionNumber new initializeNumbers: #(1 2 10 20 -1 4)].
+ self shouldRaiseError: [VersionNumber new initializeNumbers: #(1 2 10 20 '1' 4)].
+ self shouldRaiseError: [VersionNumber new initializeNumbers: #('version')].!
- self should: [VersionNumber new initializeNumbers: #(0)] raise: TestResult error.
- self should: [VersionNumber new initializeNumbers: #(-1)] raise: TestResult error.
- self should: [VersionNumber new initializeNumbers: #(1 2 10 20 -1 4)] raise: TestResult error.
- self should: [VersionNumber new initializeNumbers: #(1 2 10 20 '1' 4)] raise: TestResult error.
- self should: [VersionNumber new initializeNumbers: #('version')] raise: TestResult error.
- !
More information about the Squeak-dev
mailing list
|