RegressionTests__ChangeSetTests.st
changeset 1104 7182494b732e
parent 1042 3ebb3255dc9a
child 1105 1a5e6c3e2dff
--- a/RegressionTests__ChangeSetTests.st	Thu Mar 06 16:11:20 2014 +0100
+++ b/RegressionTests__ChangeSetTests.st	Thu Mar 06 18:27:13 2014 +0100
@@ -54,7 +54,9 @@
 
     Smalltalk removeDependent: self.
     classes do:[:each|
-        Smalltalk removeClass: each
+        (each fullName startsWith: 'Mock') ifTrue:[
+            Smalltalk removeClass: each
+        ].
     ].
 
     #(Mocks Mocks2 Mocks3) do:[:nsName|
@@ -64,42 +66,59 @@
     ].
 
     "Created: / 20-11-2012 / 14:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-03-2014 / 10:57:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ChangeSetTests methodsFor:'tests - ChangeSet'!
 
 test_saveToStream_format_nil_01
-    | cs output expected got |
+    | cs output chunks |
 
     cs := ChangeSet forExistingClass: ChangeSetTests.
     cs := cs select:[:each | each isMethodChange and:[ each selector = #setUp ]].
-    output := String streamContents:[ :s | cs saveToStream: s  format: nil ].
-    got := output asStringCollection first.
-
-    expected := '!!RegressionTests::ChangeSetTests methodsFor: ''running''!!'.
-
-    self assert: expected = got.
+    output := (String streamContents:[ :s | cs saveToStream: s  format: nil ]) readStream.
+    chunks := OrderedCollection streamContents:[ :s |
+        [ output atEnd ] whileFalse:[ 
+            s nextPut: output nextChunk.
+        ].
+    ].
+
+    self assert: chunks size == 6.
+
+    self assert: (chunks at: 1) = ('"{ NameSpace: RegressionTests }"', Character cr, Character cr).
+    self assert: (chunks at: 2) = ''.
+    self assert: (chunks at: 3) = 'ChangeSetTests methodsFor: ''running'''.
+    self assert: (chunks at: 4) = (self class compiledMethodAt: #setUp) source.
+    self assert: (chunks at: 5) = ''.
+    self assert: (chunks at: 6) = ''.
 
     "Created: / 04-02-2014 / 11:51:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-03-2014 / 12:46:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 test_saveToStream_format_nil_02
-    | cs output expected got |
-    "
-    String streamContents: [:s | ChangeSetTests::ExistingPrivateClass fileOutOn: s]
-    "
+    | cs output chunks |
 
     cs := ChangeSet forExistingClass: ChangeSetTests::ExistingPrivateClass.
     cs := cs select:[:each | each isMethodChange and:[ each selector = #foo ]].
-    output := String streamContents:[ :s | cs saveToStream: s  format: nil ].
-    got := output asStringCollection first.
-
-    expected := '!!RegressionTests::ChangeSetTests::ExistingPrivateClass methodsFor: ''methods''!!'.
-
-    self assert: expected = got.
+    output := (String streamContents:[ :s | cs saveToStream: s  format: nil ]) readStream.
+    chunks := OrderedCollection streamContents:[ :s |
+        [ output atEnd ] whileFalse:[ 
+            s nextPut: output nextChunk.
+        ].
+    ].
+
+    self assert: chunks size == 6.
+
+    self assert: (chunks at: 1) = ('"{ NameSpace: RegressionTests }"', Character cr, Character cr).
+    self assert: (chunks at: 2) = ''.
+    self assert: (chunks at: 3) = 'ChangeSetTests::ExistingPrivateClass methodsFor: ''methods'''.
+    self assert: (chunks at: 4) = (ChangeSetTests::ExistingPrivateClass compiledMethodAt: #foo) source.
+    self assert: (chunks at: 5) = ''.
+    self assert: (chunks at: 6) = ''.
 
     "Created: / 04-02-2014 / 12:08:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified (format): / 04-02-2014 / 16:50:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-03-2014 / 12:45:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ChangeSetTests methodsFor:'tests - ChangeSet::ClassSourceWriter'!
@@ -170,6 +189,27 @@
     "Created: / 20-11-2012 / 14:23:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_01_fileIn
+
+    | changefile |
+
+    changefile :='
+Object subclass:#MockClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-Mocks''
+' readStream.
+
+
+
+    self assert: (Smalltalk at: #MockClass) isNil.
+    changefile readStream fileIn.
+    self assert: (Smalltalk at: #MockClass) notNil.
+
+    "Created: / 20-11-2012 / 14:23:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_02
 
     | cs |
@@ -195,6 +235,31 @@
     "Created: / 20-11-2012 / 14:50:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_02_fileIn
+
+    | changefile |
+
+    changefile :='
+"{ NameSpace: Mocks }"
+
+Object subclass:#MockClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-Mocks''
+' readStream.
+
+
+
+
+
+    self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
+    changefile readStream fileIn.
+    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 |
@@ -232,6 +297,43 @@
     "Modified: / 09-05-2013 / 14:41:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_03a_fileIn
+
+    | changefile |
+
+    changefile :='
+Object subclass:#MockClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-Mocks''
+
+!!
+
+Object subclass:#PrivateClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        privateIn:MockClass
+
+' readStream.
+
+
+
+
+
+
+    self assert: (Smalltalk at: #'MockClass') isNil.
+    changefile readStream fileIn.
+    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>"
+    "Modified: / 09-05-2013 / 14:41:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_03b
 
     | cs |
@@ -272,6 +374,46 @@
     "Created: / 20-11-2012 / 15:04:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_03b_fileIn
+
+    | changefile |
+
+    changefile :='
+"{ NameSpace: Mocks }"
+
+Object subclass:#MockClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-Mocks''
+
+!!
+
+Object subclass:#PrivateClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        privateIn:MockClass
+
+' readStream.
+
+
+
+
+
+
+
+    self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
+    changefile readStream fileIn.
+    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 |
@@ -299,6 +441,33 @@
     "Modified: / 04-02-2014 / 20:10:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_04a_fileIn
+
+    | changefile |
+
+    changefile :='
+Object subclass:#MockClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-Mocks''
+' readStream.
+
+    Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
+        changefile readStream fileIn.
+    ].
+    "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
+     Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
+     namespace "
+
+    self assert: (Smalltalk at: #'MockClass') notNil.
+    self assert: (Smalltalk at: #'MockClass') name ==  #'MockClass'.
+    self assert: (Smalltalk at: #'Mocks::MockClass') isNil
+
+    "Created: / 20-11-2012 / 15:08:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-02-2014 / 20:10:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_04b
 
     | cs |
@@ -328,6 +497,35 @@
     "Modified: / 04-02-2014 / 20:09:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_04b_fileIn
+
+    | changefile |
+
+    changefile :='
+"{ NameSpace: Mocks2 }"
+
+Object subclass:#MockClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-Mocks''
+' readStream.
+
+    Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
+        changefile readStream fileIn.
+    ].
+    "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
+     Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
+     namespace "
+
+    self assert: (Smalltalk at: #'Mocks2::MockClass') notNil.
+    self assert: (Smalltalk at: #'Mocks2::MockClass') name ==  #'Mocks2::MockClass'.
+    self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
+
+    "Created: / 20-11-2012 / 15:14:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-02-2014 / 20:09:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_04c
 
     | cs |
@@ -351,6 +549,29 @@
     "Created: / 20-11-2012 / 15:16:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_04c_fileIn
+
+    | changefile |
+
+    changefile :='
+"{ NameSpace: Mocks }"
+
+Object subclass:#MockClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-Mocks''
+' readStream.
+
+    Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
+        changefile readStream fileIn.
+    ].
+    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 |
@@ -431,6 +652,42 @@
     "Modified: / 04-02-2014 / 20:10:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_05a_fileIn
+
+    | changefile |
+
+    changefile :='
+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:[
+        changefile readStream fileIn.
+    ].
+    "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
+     Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
+     namespace "
+
+    self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
+    self assert: (Smalltalk at: #'MockClass::PrivateClass') name ==  #'MockClass::PrivateClass'.
+    self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isNil.
+
+    "Created: / 20-11-2012 / 15:25:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-02-2014 / 20:10:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_05b
 
     | cs |
@@ -469,6 +726,44 @@
     "Modified: / 04-02-2014 / 20:11:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_05b_fileIn
+
+    | changefile |
+
+    changefile :='
+"{ 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:[
+        changefile readStream fileIn.
+    ].
+    "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
+     Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
+     namespace "
+
+    self assert: (Smalltalk at: #'Mocks2::MockClass::PrivateClass') notNil.
+    self assert: (Smalltalk at: #'Mocks2::MockClass::PrivateClass') name ==  #'Mocks2::MockClass::PrivateClass'.
+    self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isNil.
+
+    "Created: / 20-11-2012 / 15:26:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-02-2014 / 20:11:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_05c
 
     | cs |
@@ -501,6 +796,38 @@
     "Created: / 20-11-2012 / 15:33:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_05c_fileIn
+
+    | changefile |
+
+    changefile :='
+"{ 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:[
+        changefile readStream fileIn.
+    ].
+    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 |
@@ -585,6 +912,26 @@
     "Created: / 10-06-2013 / 16:48:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_06a_fileIn
+    | changefile |
+
+    "Test nil superclass"
+
+    changefile :='
+nil subclass:#MockClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-Mocks''
+' readStream.
+
+    changefile readStream fileIn.
+
+    self assert: (Smalltalk at: #MockClass) superclass isNil
+
+    "Created: / 10-06-2013 / 16:48:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_07a
     | cs |
 
@@ -606,6 +953,27 @@
     "Created: / 12-11-2013 / 17:53:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_07a_fileIn
+    | changefile |
+
+    "Test nil superclass"
+
+    changefile :='
+Object subclass:#ExistingPrivateClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        privateIn:RegressionTests::ChangeSetTests
+' readStream.
+
+
+
+
+
+
+    "Created: / 12-11-2013 / 17:53:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_07b
     | cs |
 
@@ -629,6 +997,29 @@
     "Created: / 12-11-2013 / 17:54:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_07b_fileIn
+    | changefile |
+
+    "Test nil superclass"
+
+    changefile :='
+"{ NameSpace: RegressionTests }"
+
+Object subclass:#ExistingPrivateClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        privateIn:ChangeSetTests
+' readStream.
+
+
+
+
+
+
+    "Created: / 12-11-2013 / 17:54:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_08a
     | cs |
 
@@ -653,6 +1044,30 @@
     "Created: / 13-11-2013 / 17:41:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_08a_fileIn
+    | changefile |
+
+    "Test nil superclass"
+
+    changefile :='
+"{ NameSpace: RegressionTests }"
+
+TestCase subclass:#ChangeSetTests
+        instanceVariableNames:''classes''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-System-Changes''
+' readStream.
+
+
+
+
+
+
+
+    "Created: / 13-11-2013 / 17:41:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_08b
     | cs |
 
@@ -676,6 +1091,29 @@
     "Created: / 13-11-2013 / 17:43:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_08b_fileIn
+    | changefile |
+
+    "Test nil superclass"
+
+    changefile :='
+"{ NameSpace: RegressionTests }"
+
+TestCase subclass:#ChangeSetTests
+        instanceVariableNames:''classes someMoreData''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-System-Changes''
+' readStream.
+
+
+
+
+
+
+    "Created: / 13-11-2013 / 17:43:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_08c
     | cs |
 
@@ -699,6 +1137,29 @@
     "Created: / 13-11-2013 / 17:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_08c_fileIn
+    | changefile |
+
+    "Test nil superclass"
+
+    changefile :='
+"{ NameSpace: RegressionTests }"
+
+Object subclass:#ExistingPrivateClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        privateIn:ChangeSetTests
+' readStream.
+
+
+
+
+
+
+    "Created: / 13-11-2013 / 17:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_08d
     | cs |
 
@@ -722,6 +1183,29 @@
     "Created: / 13-11-2013 / 17:44:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_08d_fileIn
+    | changefile |
+
+    "Test nil superclass"
+
+    changefile :='
+"{ NameSpace: RegressionTests }"
+
+Object subclass:#ExistingPrivateClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''somePool''
+        privateIn:ChangeSetTests
+' readStream.
+
+
+
+
+
+
+    "Created: / 13-11-2013 / 17:44:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_08e
     | cs |
 
@@ -745,6 +1229,29 @@
     "Created: / 13-11-2013 / 17:44:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_ClassDefinitionChange_08e_fileIn
+    | changefile |
+
+    "Test nil superclass"
+
+    changefile :='
+"{ NameSpace: RegressionTests }"
+
+TestCase subclass:#ChangeSetTests2
+        instanceVariableNames:''classes someMoreData''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-System-Changes''
+' readStream.
+
+
+
+
+
+
+    "Created: / 13-11-2013 / 17:44:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_ClassDefinitionChange_08f
     | cs |
 
@@ -766,6 +1273,29 @@
     self assert: cs anElement delta == #'+'
 
     "Created: / 13-11-2013 / 17:44:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_ClassDefinitionChange_08f_fileIn
+    | changefile |
+
+    "Test nil superclass"
+
+    changefile :='
+"{ NameSpace: RegressionTests }"
+
+Object subclass:#ExistingPrivateClass2
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        privateIn:ChangeSetTests
+' readStream.
+
+
+
+
+
+
+    "Created: / 13-11-2013 / 17:44:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ChangeSetTests methodsFor:'tests - MethodDefinitionChange'!
@@ -801,6 +1331,35 @@
     "Created: / 01-05-2013 / 09:40:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_MethodDefinitionChange_01_fileIn
+
+    | changefile |
+
+    changefile :='
+Object subclass:#MockClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-Mocks''
+!!
+
+!!MockClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+
+' readStream.
+
+    self assert: (Smalltalk at: #MockClass) isNil.
+    changefile readStream fileIn.
+    self assert: (Smalltalk at: #MockClass) notNil.
+    self assert:((Smalltalk at: #MockClass) methodDictionary includesKey: #foo)
+
+    "Created: / 01-05-2013 / 09:40:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 06-03-2014 / 17:04:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_MethodDefinitionChange_02
 
     | cs |
@@ -834,6 +1393,37 @@
     "Created: / 01-05-2013 / 09:42:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_MethodDefinitionChange_02_fileIn
+
+    | changefile |
+
+    changefile :='
+"{ NameSpace: Mocks }"
+
+Object subclass:#MockClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-Mocks''
+!!
+
+!!MockClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+
+' readStream.
+
+    self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
+    changefile readStream fileIn.
+    self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
+    self assert:((Smalltalk at: #'Mocks::MockClass') methodDictionary includesKey: #foo)
+
+    "Created: / 01-05-2013 / 09:42:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 06-03-2014 / 17:04:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_MethodDefinitionChange_02a
     "Tests whether all method changes have package properly set when reading
      extension container"
@@ -905,6 +1495,43 @@
     "Modified: / 09-05-2013 / 15:18:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+test_MethodDefinitionChange_03a_fileIn
+
+    | changefile |
+
+    changefile :='
+Object subclass:#MockClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-Mocks''
+!!
+
+Object subclass:#PrivateClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        privateIn:MockClass
+!!
+
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+' readStream.
+
+
+
+
+    self assert: (Smalltalk at: #'MockClass') isNil.
+    changefile readStream fileIn.
+    self assert:((Smalltalk at: #'MockClass::PrivateClass') methodDictionary includesKey: #foo)
+
+    "Created: / 01-05-2013 / 09:50:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 09-05-2013 / 15:18:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_MethodDefinitionChange_03b
 
     | cs |
@@ -944,6 +1571,461 @@
 
 !
 
+test_MethodDefinitionChange_03b_fileIn
+
+    | changefile |
+
+    changefile :='
+"{ NameSpace: Mocks }"
+
+Object subclass:#MockClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        category:''tests-Regression-Mocks''
+!!
+
+Object subclass:#PrivateClass
+        instanceVariableNames:''''
+        classVariableNames:''''
+        poolDictionaries:''''
+        privateIn:MockClass
+!!
+
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+' readStream.
+
+
+
+
+    self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
+    changefile readStream fileIn.
+    self assert:((Smalltalk at: #'Mocks::MockClass::PrivateClass') methodDictionary includesKey: #foo)
+
+    "Created: / 01-05-2013 / 09:52:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+
+!
+
+test_MethodDefinitionChange_04a
+
+    | cs |
+
+    cs := ChangeSet fromStream:'
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+' readStream.
+
+    self assert: cs size == 1.
+    self assert: cs first className = 'MockClass::PrivateClass'.
+    self assert: cs first fullClassName = 'MockClass::PrivateClass'.
+
+    "Created: / 06-03-2014 / 10:50:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_04a_fileIn
+
+    | changefile |
+
+    self assert: (Smalltalk at: #'MockClass') isNil.
+    self assert: (Smalltalk at: #'MockClass::PrivateClass') isNil.
+
+
+    Object subclass:#MockClass
+        instanceVariableNames:''
+        classVariableNames:''
+        poolDictionaries:''
+        category:'tests-Regression-System-Changes'.
+
+    Object subclass: #PrivateClass
+        instanceVariableNames: ''
+        classVariableNames: ''
+        poolDictionaries: ''
+        privateIn: (Smalltalk at: #'MockClass').
+
+
+    changefile :='
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+' readStream.
+    changefile readStream fileIn.  
+
+    self assert: (Smalltalk at: #'MockClass') notNil.
+    self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
+    self assert: ((Smalltalk at: #'MockClass::PrivateClass') methodDictionary includesKey:#foo)
+
+    "Created: / 06-03-2014 / 10:50:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-03-2014 / 17:11:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_04b
+
+    | cs |
+
+    cs := ChangeSet fromStream:'
+"{ NameSpace: Mocks }"
+
+!!
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+' readStream.
+
+    self assert: cs size == 1.
+    self assert: cs first className = 'MockClass::PrivateClass'.
+    self assert: cs first fullClassName = 'Mocks::MockClass::PrivateClass'.
+
+    "Created: / 06-03-2014 / 10:50:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_04b_fileIn
+
+    | changefile |
+
+    self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
+    self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isNil.
+
+    Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks') do:[
+
+    Object subclass:#MockClass
+        instanceVariableNames:''
+        classVariableNames:''
+        poolDictionaries:''
+        category:'tests-Regression-System-Changes'.
+
+    Object subclass: #PrivateClass
+        instanceVariableNames: ''
+        classVariableNames: ''
+        poolDictionaries: ''
+        privateIn: (Smalltalk at: #'Mocks::MockClass').
+    ].
+
+
+    changefile :='
+"{ NameSpace: Mocks }"
+
+!!       
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+' readStream.
+    changefile readStream fileIn.  
+
+    self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
+    self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
+    self assert: ((Smalltalk at: #'Mocks::MockClass::PrivateClass') methodDictionary includesKey:#foo)
+
+    "Created: / 06-03-2014 / 10:50:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-03-2014 / 17:10:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_05a
+
+    | cs |
+
+    cs := ChangeSet fromStream:'
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+"{ NameSpace: Mocks }"
+
+!!
+!!MockClass2::PrivateClass methodsFor:''methods''!!
+
+bar
+
+!! !!       
+
+' readStream.
+
+    self assert: cs size == 2.
+    self assert: cs first className = 'MockClass::PrivateClass'.
+    self assert: cs first fullClassName = 'MockClass::PrivateClass'.
+    self assert: cs second className = 'MockClass2::PrivateClass'.
+    self assert: cs second fullClassName = 'Mocks::MockClass2::PrivateClass'.
+
+    "Created: / 06-03-2014 / 10:51:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_05a_fileIn
+
+    | changefile |
+
+    self assert: (Smalltalk at: #'MockClass') isNil.
+    self assert: (Smalltalk at: #'MockClass::PrivateClass') isNil.
+
+
+    Object subclass:#MockClass
+        instanceVariableNames:''
+        classVariableNames:''
+        poolDictionaries:''
+        category:'tests-Regression-System-Changes'.
+
+    Object subclass: #PrivateClass
+        instanceVariableNames: ''
+        classVariableNames: ''
+        poolDictionaries: ''
+        privateIn: (Smalltalk at: #'MockClass').      
+
+    Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks') do:[
+
+    Object subclass:#MockClass2
+        instanceVariableNames:''
+        classVariableNames:''
+        poolDictionaries:''
+        category:'tests-Regression-System-Changes'.
+
+    Object subclass: #PrivateClass
+        instanceVariableNames: ''
+        classVariableNames: ''
+        poolDictionaries: ''
+        privateIn: (Smalltalk at: #'Mocks::MockClass2').
+    ].             
+
+    changefile :='
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+"{ NameSpace: Mocks }"
+
+!!
+!!MockClass2::PrivateClass methodsFor:''methods''!!
+
+bar
+
+!! !!
+
+' readStream.
+
+    changefile readStream fileIn.
+     self assert: (Smalltalk at: #'MockClass') notNil.
+    self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
+    self assert: ((Smalltalk at: #'MockClass::PrivateClass') methodDictionary includesKey:#foo).
+    self assert: (Smalltalk at: #'Mocks::MockClass2') notNil.
+    self assert: (Smalltalk at: #'Mocks::MockClass2::PrivateClass') notNil.
+    self assert: ((Smalltalk at: #'Mocks::MockClass2::PrivateClass') methodDictionary includesKey:#bar)
+
+    "Created: / 06-03-2014 / 10:51:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-03-2014 / 17:16:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_05b
+
+    | cs |
+
+    cs := ChangeSet fromStream:'
+"{ NameSpace: Mocks2 }"
+
+!!
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+"{ NameSpace: Mocks }"
+
+!!
+!!MockClass2::PrivateClass methodsFor:''methods''!!
+
+bar
+
+!! !!       
+
+' readStream.
+
+    self assert: cs size == 2.
+    self assert: cs first className = 'MockClass::PrivateClass'.
+    self assert: cs first fullClassName = 'Mocks2::MockClass::PrivateClass'.
+    self assert: cs second className = 'MockClass2::PrivateClass'.
+    self assert: cs second fullClassName = 'Mocks::MockClass2::PrivateClass'.
+
+    "Created: / 06-03-2014 / 10:53:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_05b_fileIn
+
+    | changefile |
+
+    Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks2') do:[
+
+    Object subclass:#MockClass
+        instanceVariableNames:''
+        classVariableNames:''
+        poolDictionaries:''
+        category:'tests-Regression-System-Changes'.
+
+    Object subclass: #PrivateClass
+        instanceVariableNames: ''
+        classVariableNames: ''
+        poolDictionaries: ''
+        privateIn: (Smalltalk at: #'Mocks2::MockClass').      
+
+    ].
+
+    Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks') do:[
+
+    Object subclass:#MockClass2
+        instanceVariableNames:''
+        classVariableNames:''
+        poolDictionaries:''
+        category:'tests-Regression-System-Changes'.
+
+    Object subclass: #PrivateClass
+        instanceVariableNames: ''
+        classVariableNames: ''
+        poolDictionaries: ''
+        privateIn: (Smalltalk at: #'Mocks::MockClass2').
+    ].             
+
+
+    changefile :='
+"{ NameSpace: Mocks2 }"
+
+!!
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+"{ NameSpace: Mocks }"
+
+!!
+!!MockClass2::PrivateClass methodsFor:''methods''!!
+
+bar
+
+!! !!
+
+' readStream.
+
+    changefile readStream fileIn.
+
+    self assert: (Smalltalk at: #'Mocks2::MockClass') notNil.
+    self assert: (Smalltalk at: #'Mocks2::MockClass::PrivateClass') notNil.
+    self assert: ((Smalltalk at: #'Mocks2::MockClass::PrivateClass') methodDictionary includesKey:#foo).
+    self assert: (Smalltalk at: #'Mocks::MockClass2') notNil.
+    self assert: (Smalltalk at: #'Mocks::MockClass2::PrivateClass') notNil.
+    self assert: ((Smalltalk at: #'Mocks::MockClass2::PrivateClass') methodDictionary includesKey:#bar)
+
+    "Created: / 06-03-2014 / 10:53:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-03-2014 / 17:22:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_05c
+
+    | cs |
+
+    cs := ChangeSet fromStream:'
+"{ NameSpace: Mocks2 }"
+
+!!
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+"{ NameSpace: Smalltalk }"
+
+!!
+!!MockClass2::PrivateClass methodsFor:''methods''!!
+
+bar
+
+!! !!       
+
+' readStream.
+
+    self assert: cs size == 2.
+    self assert: cs first className = 'MockClass::PrivateClass'.
+    self assert: cs first fullClassName = 'Mocks2::MockClass::PrivateClass'.
+    self assert: cs second className = 'MockClass2::PrivateClass'.
+    self assert: cs second fullClassName = 'MockClass2::PrivateClass'.
+
+    "Created: / 06-03-2014 / 10:54:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_05c_fileIn
+
+    | changefile |
+
+    Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks2') do:[
+
+    Object subclass:#MockClass
+        instanceVariableNames:''
+        classVariableNames:''
+        poolDictionaries:''
+        category:'tests-Regression-System-Changes'.
+
+    Object subclass: #PrivateClass
+        instanceVariableNames: ''
+        classVariableNames: ''
+        poolDictionaries: ''
+        privateIn: (Smalltalk at: #'Mocks2::MockClass').      
+    ].             
+
+    Object subclass:#MockClass2
+        instanceVariableNames:''
+        classVariableNames:''
+        poolDictionaries:''
+        category:'tests-Regression-System-Changes'.
+
+    Object subclass: #PrivateClass
+        instanceVariableNames: ''
+        classVariableNames: ''
+        poolDictionaries: ''
+        privateIn: (Smalltalk at: #'MockClass2').
+
+ 
+
+    changefile :='
+"{ NameSpace: Mocks2 }"
+
+!!
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+"{ NameSpace: Smalltalk }"
+
+!!
+!!MockClass2::PrivateClass methodsFor:''methods''!!
+
+bar
+
+!! !!
+
+' readStream.
+
+    changefile readStream fileIn.
+    self assert: (Smalltalk at: #'Mocks2::MockClass') notNil.
+    self assert: (Smalltalk at: #'Mocks2::MockClass::PrivateClass') notNil.
+    self assert: ((Smalltalk at: #'Mocks2::MockClass::PrivateClass') methodDictionary includesKey:#foo).
+    self assert: (Smalltalk at: #'MockClass2') notNil.
+    self assert: (Smalltalk at: #'MockClass2::PrivateClass') notNil.
+    self assert: ((Smalltalk at: #'MockClass2::PrivateClass') methodDictionary includesKey:#bar)
+
+    "Created: / 06-03-2014 / 10:54:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 06-03-2014 / 17:25:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 test_MethodDefinitionChange_jextension_01a
     "Tests Java extensios - used by stx:libjava (see stx/libjava/java/extensions/**/*.st"