MetacelloProjectReferenceSpecTestCase.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
MetacelloSpecTestCase subclass:#MetacelloProjectReferenceSpecTestCase
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-Specs'
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
!MetacelloProjectReferenceSpecTestCase methodsFor:'tests'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    12
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    13
testProjectReferenceMergeSpec
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    14
    | projectReferenceA projectReferenceB projectReference project |
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    15
    projectReferenceA := self projectReferenceSpec
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    16
        name: 'Project';
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    17
        projectReference:
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    18
                (self projectSpec
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    19
                        name: 'Project';
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    20
                        className: 'ConfigurationOfProjectA';
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    21
                        versionString: #'stable';
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    22
                        yourself);
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    23
        yourself.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    24
    projectReferenceB := self projectReferenceSpec
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    25
        name: 'Project';
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    26
        projectReference:
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    27
                (self projectSpec
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    28
                        name: 'Project';
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    29
                        className: 'ConfigurationOfProjectB';
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    30
                        versionString: '1.0';
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    31
                        yourself);
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    32
        yourself.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    33
    projectReference := projectReferenceA mergeSpec: projectReferenceB.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    34
    self assert: projectReference name = 'Project'.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    35
    self assert: projectReference projectName = 'Project'.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    36
    project := projectReference projectReference.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    37
    self assert: project className = 'ConfigurationOfProjectB'.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    38
    self assert: project versionString = '1.0'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    39
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    40
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    41
testProjectReferenceSpec
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    42
    | projectReference project |
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    43
    projectReference := self projectReferenceSpec
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    44
        name: 'Project';
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    45
        projectReference:
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    46
                (project := self projectSpec
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    47
                        name: 'Project';
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    48
                        className: 'ConfigurationOfProjectA';
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    49
                        versionString: #'stable';
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    50
                        yourself);
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    51
        yourself.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    52
    self assert: projectReference name = 'Project'.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    53
    self assert: projectReference projectName = 'Project'.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    54
    self assert: projectReference projectReference == project.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    55
    self should: [ projectReference includes: #() ] raise: Error.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    56
    self should: [ projectReference requires: #() ] raise: Error.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    57
    self should: [ projectReference answers: #() ] raise: Error.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    58
    projectReference
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    59
        projectDo: [ :prjct | self assert: projectReference == prjct ]
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    60
        packageDo: [ :ignored | self assert: false ]
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    61
        groupDo: [ :ignored | self assert: false ]
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    62
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    63
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    64
!MetacelloProjectReferenceSpecTestCase class methodsFor:'documentation'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    65
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    66
version_SVN
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    67
    ^ '$Id::                                                                                                                        $'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    68
! !