MetacelloCommonVersionNumberTestCase.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 03 Sep 2012 13:10:51 +0000
changeset 3 504152ada1fc
parent 1 9e312de5f694
permissions -rw-r--r--
fixed stc-compilability
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     1
"{ Package: 'stx:goodies/metacello' }"
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     2
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     3
TestCase subclass:#MetacelloCommonVersionNumberTestCase
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     4
	instanceVariableNames:''
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     5
	classVariableNames:''
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     6
	poolDictionaries:''
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     7
	category:'Metacello-TestsCore'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     8
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     9
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    10
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    11
!MetacelloCommonVersionNumberTestCase class methodsFor:'testing'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    12
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    13
isAbstract
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    14
    "Override to true if a TestCase subclass is Abstract and should not have
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    15
	TestCase instances built from it"
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    16
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    17
    ^ self name = #'MetacelloCommonVersionNumberTestCase'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    18
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    19
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    20
!MetacelloCommonVersionNumberTestCase methodsFor:'private'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    21
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    22
versionClass
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    23
    ^ self subclassResponsibility
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    24
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    25
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    26
!MetacelloCommonVersionNumberTestCase methodsFor:'test alpha/numeric version numbers'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    27
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    28
testAlphaNumericVersion1
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    29
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    30
	"Use numeric comparison for pure numbers. If you non-numeric version separate with '-'"
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    31
	
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    32
	| x y |
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    33
	self assert: ((x := self versionClass fromString: '2.9.0') < (y := self versionClass fromString: '2.10.0')).
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    34
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    35
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    36
testAlphaNumericVersion2
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    37
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    38
	self assert: ((self versionClass fromString: '2.9.0-alpha.2') < (self versionClass fromString: '2.9.0-alpha.3')).
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    39
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    40
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    41
testAlphaNumericVersion3
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    42
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    43
	self assert: ((self versionClass fromString: '2.9.9-alpha.2') < (self versionClass fromString: '2.9.10')).
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    44
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    45
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    46
testAlphaNumericVersion4
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    47
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    48
	self assert: ((self versionClass fromString: '2.9.9-alpha.2') < (self versionClass fromString: '2.9.9')).
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    49
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    50
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    51
!MetacelloCommonVersionNumberTestCase methodsFor:'tests'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    52
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    53
testVersion01
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    54
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    55
	self assert: ((self versionClass fromString: '1.1.1') versionString = '1.1.1')
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    56
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    57
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    58
testVersion02
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    59
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    60
	| v1 v2 |
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    61
	v1 := self versionClass fromString: '1.1.1'.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    62
	v2 := self versionClass fromString: '1.0.0'.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    63
	self assert: (v1 = v1).	
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    64
	self assert: (v2 = v2).
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    65
	self assert: (v1 > v2)
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    66
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    67
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    68
testVersion04
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    69
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    70
	| v1 v2 |
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    71
	v1 := self versionClass fromString: '1.0.1'.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    72
	v2 := self versionClass fromString: '1.0.0'.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    73
	self assert: (v1 > v2)
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    74
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    75
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    76
testVersion14
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    77
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    78
	self assert: ((self versionClass fromString: '2.9.0-alpha02') < (self versionClass fromString: '2.9.0-alpha03')).
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    79
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    80
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    81
testVersion22
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    82
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    83
	self assert: (MetacelloVersionNumber fromString: '3.0.0') collapseZeros size = 1.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    84
	self assert: (MetacelloVersionNumber fromString: '3.0.0') = (MetacelloVersionNumber fromString: '3.0').
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    85
	self assert: (MetacelloVersionNumber fromString: '3.0') = (MetacelloVersionNumber fromString: '3.0.0').
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    86
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    87
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    88
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    89
testVersion23
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    90
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    91
	self assert: (MetacelloVersionNumber fromString: '3.0.0.-rc.1') = (MetacelloVersionNumber fromString: '3.0.0-rc.1').
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    92
	self assert: (MetacelloVersionNumber fromString: '3.0') > (MetacelloVersionNumber fromString: '3.0-rc.1').
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    93
	self assert: (MetacelloVersionNumber fromString: '3') > (MetacelloVersionNumber fromString: '3-rc.1').
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    94
	self assert: (MetacelloVersionNumber fromString: '3.-rc.1') = (MetacelloVersionNumber fromString: '3.0.0-rc.1').
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    95
	self assert: (MetacelloVersionNumber fromString: '3.0.-rc.1') = (MetacelloVersionNumber fromString: '3.0.0-rc.1').
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    96
	self assert: (MetacelloVersionNumber fromString: '3') > (MetacelloVersionNumber fromString: '3.0-rc.1').
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    97
	self assert: (MetacelloVersionNumber fromString: '3.0') > (MetacelloVersionNumber fromString: '3.0.0-rc.1').
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    98
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    99
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
   100
9e312de5f694 - Initial commit
jv
parents:
diff changeset
   101
testVersion25
9e312de5f694 - Initial commit
jv
parents:
diff changeset
   102
9e312de5f694 - Initial commit
jv
parents:
diff changeset
   103
	self assert: ((MetacelloVersionNumber fromString: '1.0-beta.24.0.1') < (MetacelloVersionNumber fromString: '1.0-beta.28')).
9e312de5f694 - Initial commit
jv
parents:
diff changeset
   104
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
   105
9e312de5f694 - Initial commit
jv
parents:
diff changeset
   106
!MetacelloCommonVersionNumberTestCase class methodsFor:'documentation'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
   107
9e312de5f694 - Initial commit
jv
parents:
diff changeset
   108
version_SVN
9e312de5f694 - Initial commit
jv
parents:
diff changeset
   109
    ^ '$Id::                                                                                                                        $'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
   110
! !