"{ Package: 'stx:goodies/metacello' }"
TestCase subclass:#MetacelloCommonVersionNumberTestCase
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'Metacello-TestsCore'
!
!MetacelloCommonVersionNumberTestCase class methodsFor:'testing'!
isAbstract
"Override to true if a TestCase subclass is Abstract and should not have
TestCase instances built from it"
^ self name = #'MetacelloCommonVersionNumberTestCase'
! !
!MetacelloCommonVersionNumberTestCase methodsFor:'private'!
versionClass
^ self subclassResponsibility
! !
!MetacelloCommonVersionNumberTestCase methodsFor:'test alpha/numeric version numbers'!
testAlphaNumericVersion1
"Use numeric comparison for pure numbers. If you non-numeric version separate with '-'"
| x y |
self assert: ((x := self versionClass fromString: '2.9.0') < (y := self versionClass fromString: '2.10.0')).
!
testAlphaNumericVersion2
self assert: ((self versionClass fromString: '2.9.0-alpha.2') < (self versionClass fromString: '2.9.0-alpha.3')).
!
testAlphaNumericVersion3
self assert: ((self versionClass fromString: '2.9.9-alpha.2') < (self versionClass fromString: '2.9.10')).
!
testAlphaNumericVersion4
self assert: ((self versionClass fromString: '2.9.9-alpha.2') < (self versionClass fromString: '2.9.9')).
! !
!MetacelloCommonVersionNumberTestCase methodsFor:'tests'!
testVersion01
self assert: ((self versionClass fromString: '1.1.1') versionString = '1.1.1')
!
testVersion02
| v1 v2 |
v1 := self versionClass fromString: '1.1.1'.
v2 := self versionClass fromString: '1.0.0'.
self assert: (v1 = v1).
self assert: (v2 = v2).
self assert: (v1 > v2)
!
testVersion04
| v1 v2 |
v1 := self versionClass fromString: '1.0.1'.
v2 := self versionClass fromString: '1.0.0'.
self assert: (v1 > v2)
!
testVersion14
self assert: ((self versionClass fromString: '2.9.0-alpha02') < (self versionClass fromString: '2.9.0-alpha03')).
!
testVersion22
self assert: (MetacelloVersionNumber fromString: '3.0.0') collapseZeros size = 1.
self assert: (MetacelloVersionNumber fromString: '3.0.0') = (MetacelloVersionNumber fromString: '3.0').
self assert: (MetacelloVersionNumber fromString: '3.0') = (MetacelloVersionNumber fromString: '3.0.0').
!
testVersion23
self assert: (MetacelloVersionNumber fromString: '3.0.0.-rc.1') = (MetacelloVersionNumber fromString: '3.0.0-rc.1').
self assert: (MetacelloVersionNumber fromString: '3.0') > (MetacelloVersionNumber fromString: '3.0-rc.1').
self assert: (MetacelloVersionNumber fromString: '3') > (MetacelloVersionNumber fromString: '3-rc.1').
self assert: (MetacelloVersionNumber fromString: '3.-rc.1') = (MetacelloVersionNumber fromString: '3.0.0-rc.1').
self assert: (MetacelloVersionNumber fromString: '3.0.-rc.1') = (MetacelloVersionNumber fromString: '3.0.0-rc.1').
self assert: (MetacelloVersionNumber fromString: '3') > (MetacelloVersionNumber fromString: '3.0-rc.1').
self assert: (MetacelloVersionNumber fromString: '3.0') > (MetacelloVersionNumber fromString: '3.0.0-rc.1').
!
testVersion25
self assert: ((MetacelloVersionNumber fromString: '1.0-beta.24.0.1') < (MetacelloVersionNumber fromString: '1.0-beta.28')).
! !
!MetacelloCommonVersionNumberTestCase class methodsFor:'documentation'!
version_SVN
^ '$Id:: $'
! !