"{ Package: 'exept:regression' }"
"{ NameSpace: RegressionTests }"
TestCase subclass:#ChangeSetTests
instanceVariableNames:'classes'
classVariableNames:''
poolDictionaries:''
category:'tests-Regression-System-Changes'
!
!ChangeSetTests methodsFor:'change & update'!
update: aspect with: param from: sender
aspect == #newClass ifTrue:[
classes add: param.
].
"Created: / 20-11-2012 / 14:47:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetTests methodsFor:'private'!
performTest
^Class withoutUpdatingChangesDo:[
super performTest
]
"Created: / 20-11-2012 / 15:08:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetTests methodsFor:'running'!
setUp
Smalltalk addDependent: self.
classes := Set new.
"Created: / 20-11-2012 / 14:46:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
tearDown
| ns |
Smalltalk removeDependent: self.
classes do:[:each|
Smalltalk removeClass: each
].
#(Mocks Mocks2 Mocks3) do:[:nsName|
(ns := Smalltalk at:nsName) notNil ifTrue:[
Smalltalk removeClass: ns
].
].
"Created: / 20-11-2012 / 14:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetTests methodsFor:'tests - ClassDefinitionChange'!
test_ClassDefinitionChange_01
| cs |
cs := ChangeSet fromStream:'
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
' readStream.
self assert: cs size == 1.
self assert: cs first className = 'MockClass'.
self assert: (Smalltalk at: #MockClass) isNil.
cs apply.
self assert: (Smalltalk at: #MockClass) notNil.
"Created: / 20-11-2012 / 14:23:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_02
| cs |
cs := ChangeSet fromStream:'
"{ NameSpace: Mocks }"
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
' readStream.
self assert: cs size == 1.
self assert: cs first className = 'Mocks::MockClass'.
self assert: cs first nameSpaceName = 'Mocks'.
self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
cs apply.
self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
"Created: / 20-11-2012 / 14:50:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_03a
| cs |
cs := ChangeSet fromStream:'
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
!!
Object subclass:#PrivateClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
privateIn:MockClass
' readStream.
self assert: cs size == 2.
self assert: cs first className = 'MockClass'.
self assert: cs second className = 'MockClass::PrivateClass'.
self assert: (Smalltalk at: #'MockClass') isNil.
cs apply.
self assert: (Smalltalk at: #'MockClass') notNil.
self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
self assert: (Smalltalk at: #'MockClass::PrivateClass') name == #'MockClass::PrivateClass'.
self assert: (Smalltalk at: #'MockClass::PrivateClass') isPrivate
"Created: / 20-11-2012 / 14:54:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_03b
| cs |
cs := ChangeSet fromStream:'
"{ NameSpace: Mocks }"
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
!!
Object subclass:#PrivateClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
privateIn:MockClass
' readStream.
self assert: cs size == 2.
self assert: cs first className = 'Mocks::MockClass'.
self assert: cs second className = 'Mocks::MockClass::PrivateClass'.
self assert: cs second nameSpaceName = 'Mocks'.
self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
cs apply.
self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
self assert: (Smalltalk at: #'Mocks::MockClass') isPrivate not.
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') name == #'Mocks::MockClass::PrivateClass'.
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isPrivate
"Created: / 20-11-2012 / 15:04:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_04a
| cs |
cs := ChangeSet fromStream:'
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
' readStream.
Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
cs apply.
].
self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
self assert: (Smalltalk at: #'Mocks::MockClass') name == #'Mocks::MockClass'.
"Created: / 20-11-2012 / 15:08:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_04b
| cs |
cs := ChangeSet fromStream:'
"{ NameSpace: Mocks2 }"
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
' readStream.
Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
cs apply.
].
self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
self assert: (Smalltalk at: #'Mocks::MockClass') name == #'Mocks::MockClass'.
"Created: / 20-11-2012 / 15:14:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_04c
| cs |
cs := ChangeSet fromStream:'
"{ NameSpace: Mocks }"
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
' readStream.
Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
cs apply.
].
self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
self assert: (Smalltalk at: #'Mocks::MockClass') name == #'Mocks::MockClass'.
"Created: / 20-11-2012 / 15:16:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_04d
| cs |
cs := ChangeSet fromStream:'
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
' readStream.
cs first nameSpaceOverride: (NameSpace name: #Mocks).
cs apply.
self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
self assert: (Smalltalk at: #'Mocks::MockClass') name == #'Mocks::MockClass'.
"Created: / 20-11-2012 / 15:21:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_04e
| cs |
cs := ChangeSet fromStream:'
"{ NameSpace: Mocks2 }"
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
' readStream.
cs first nameSpaceOverride: (NameSpace name: #Mocks).
cs apply.
self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
self assert: (Smalltalk at: #'Mocks::MockClass') name == #'Mocks::MockClass'.
"Created: / 20-11-2012 / 15:22:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_05a
| cs |
cs := ChangeSet fromStream:'
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
!!
Object subclass:#PrivateClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
privateIn:MockClass
' readStream.
Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
cs apply.
].
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') name == #'Mocks::MockClass::PrivateClass'.
"Created: / 20-11-2012 / 15:25:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_05b
| cs |
cs := ChangeSet fromStream:'
"{ NameSpace: Mocks2 }"
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
!!
Object subclass:#PrivateClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
privateIn:MockClass
' readStream.
Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
cs apply.
].
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') name == #'Mocks::MockClass::PrivateClass'.
"Created: / 20-11-2012 / 15:26:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_05c
| cs |
cs := ChangeSet fromStream:'
"{ NameSpace: Mocks }"
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
!!
Object subclass:#PrivateClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
privateIn:MockClass
' readStream.
Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
cs apply.
].
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') name == #'Mocks::MockClass::PrivateClass'.
"Created: / 20-11-2012 / 15:33:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_05d
| cs |
cs := ChangeSet fromStream:'
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
!!
Object subclass:#PrivateClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
privateIn:MockClass
' readStream.
cs first nameSpaceOverride: (NameSpace name: #Mocks).
cs second nameSpaceOverride: (NameSpace name: #Mocks).
cs apply.
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') name == #'Mocks::MockClass::PrivateClass'.
"Created: / 20-11-2012 / 15:26:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_ClassDefinitionChange_05e
| cs |
cs := ChangeSet fromStream:'
"{ NameSpace: Mocks2 }"
Object subclass:#MockClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
category:''tests-Regression-Mocks''
!!
Object subclass:#PrivateClass
instanceVariableNames:''''
classVariableNames:''''
poolDictionaries:''''
privateIn:MockClass
' readStream.
cs first nameSpaceOverride: (NameSpace name: #Mocks).
cs second nameSpaceOverride: (NameSpace name: #Mocks).
cs apply.
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') name == #'Mocks::MockClass::PrivateClass'.
"Created: / 20-11-2012 / 15:26:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetTests class methodsFor:'documentation'!
version
^ '$Header$'
!
version_CVS
^ '$Header$'
!
version_SVN
^ '§Id:: RegressionTests__ChangeSetTests.st 508 2012-11-20 15:55:20Z vranyj1 §'
! !