[Pkg] DeltaStreams: DeltaStreams-Tests-mtf.6.mcz
squeak-dev-noreply at lists.squeakfoundation.org
squeak-dev-noreply at lists.squeakfoundation.org
Mon Mar 9 23:11:23 UTC 2009
A new version of DeltaStreams-Tests was added to project DeltaStreams:
http://www.squeaksource.com/DeltaStreams/DeltaStreams-Tests-mtf.6.mcz
==================== Summary ====================
Name: DeltaStreams-Tests-mtf.6
Author: mtf
Time: 9 March 2009, 7:10:33 pm
UUID: ca66e6ac-354a-4398-98f1-4268f4385bd8
Ancestors: DeltaStreams-Tests-mtf.5
fixed most of the DSApply tests
=============== Diff against DeltaStreams-Tests-mtf.5 ===============
Item was added:
+ ----- Method: DSClassNameChange class>>changing:to: (in category '*deltastreams-tests') -----
+ changing: aClass to: newName
+ ^ self changing: aClass from: aClass name to: newName!
Item was changed:
----- Method: DSDeltaApplyTest>>testChangeClassVars (in category 'clean class tests') -----
testChangeClassVars
"Change the class pool variable names of a class. Valid; should succeed"
self applyChange: (DSClassVarsChange new
+ fromClass: class;
- className: self oldClassAName;
oldVars: self oldClassVarString;
newVars: self newClassVarString;
yourself).
self assert: (Smalltalk includesKey: self oldClassAName).
self assert: class isBehavior.
self deny: class isMeta.
self assert: class class isMeta.
self assert: class isFixed.
self assert: class name == self oldClassAName.
self assert: class superclass == self oldSuperclass.
self assert: class category == self oldClassCategory.
self assert: class instanceVariablesString = self oldInstVarString.
self assert: class class instanceVariablesString = self oldInstVarString.
self assert: class classVariablesString = self newClassVarString scanNames sort asSpaceString.
self assert: class sharedPoolsString = self oldSharedPoolString.
self assert: class hasComment.
self assert: class organization classComment = self oldComment.
self assert: class organization commentStamp = self oldStamp.
!
Item was changed:
----- Method: DSDeltaApplyTest>>testChangeSharedPools (in category 'clean class tests') -----
testChangeSharedPools
"Change the shared pools of a class. The pools exist, so this should succeed"
self applyChange: (DSSharedPoolVarsChange new
+ fromClass: class;
- className: self oldClassAName;
oldVars: self oldSharedPoolString;
newVars: self newSharedPoolString;
yourself).
self assert: (Smalltalk includesKey: self oldClassAName).
self assert: class isBehavior.
self deny: class isMeta.
self assert: class class isMeta.
self assert: class isFixed.
self assert: class name == self oldClassAName.
self assert: class superclass == self oldSuperclass.
self assert: class category == self oldClassCategory.
self assert: class instanceVariablesString = self oldInstVarString.
self assert: class class instanceVariablesString = self oldInstVarString.
self assert: class classVariablesString = self oldClassVarString.
self assert: class sharedPoolsString = self newSharedPoolString.
self assert: class hasComment.
self assert: class organization classComment = self oldComment.
self assert: class organization commentStamp = self oldStamp.
!
Item was changed:
----- Method: DSDeltaApplyTest>>applyChange: (in category 'subclass responsibility') -----
applyChange: aChange
+ (DSSystemEditorApplier on: SystemEditor new) apply: aChange.
- aChange applyUsing: (DSSystemEditorApplier on: SystemEditor new).
!
Item was changed:
----- Method: DSDeltaCreationTest>>transformChangeClassVars (in category 'class transforms') -----
transformChangeClassVars
"Change the class pool variable names of a class. Valid; should succeed"
| change1 change2 change3 |
(change1 := DSClassVarsChange
fromClass: class)
oldVars: self newClassVarString;
yourself.
self assert: change1 isClassVars.
self validateClassChange: change1.
self assert: change1 oldVars = self newClassVarString scanNames sort.
change2 := DSClassVarsChange fromChange: change1.
self assert: change2 isClassVars.
self validateClassChange: change2.
self assert: change2 oldVars = self newClassVarString scanNames sort.
change3 := change1 asAntiChange.
self assert: change3 isClassVars.
self validateClassChange: change3 except: #classVars.
+ self assert: change3 newVars = self newClassVarString scanNames sort.
- self assert: change3 newVars = self newClassVarString sort scanNames.
self assert: change3 oldVars = self oldClassVarString scanNames sort. !
Item was changed:
----- Method: DSDeltaApplyTest>>testCreateClassWithClassMethod (in category 'clean class tests') -----
testCreateClassWithClassMethod
| newClass |
self deny: (Smalltalk includesKey: self classBName).
self applyChange: (DSChangeSequence new add: (DSClassCreatedChange new
className: self classBName;
superclassName: self oldSuperclass name;
instVarNames: self oldInstVarString;
"classInstVarNames: self oldInstVarString;"
classVarNames: self oldClassVarString;
poolDictionaryNames: self oldSharedPoolString;
category: self oldClassCategory;
type: #normal;
+ yourself); add: (DSMethodAddedChange new
- yourself); addChange: (DSMethodAddedChange new
className: self classBName;
meta: true;
selector: self selectorB;
stamp: self oldStamp;
source: self methodBSource;
protocol: self oldProtocol;
yourself)).
self assert: (Smalltalk includesKey: self classBName).
newClass := Smalltalk at: self classBName.
self assert: newClass isBehavior.
self deny: newClass isMeta.
self assert: newClass class isMeta.
self assert: newClass isFixed.
self deny: newClass isVariable.
self assert: newClass isPointers.
self deny: newClass isBits.
self deny: newClass isBytes.
self assert: newClass isWords.
self deny: newClass isWeak.
self assert: newClass name == self classBName.
self assert: newClass superclass == self oldSuperclass.
self assert: newClass category == self oldClassCategory.
self assert: newClass instanceVariablesString = self oldInstVarString.
"self assert: class class instanceVariablesString = self oldInstVarString."
self assert: newClass classVariablesString = self oldClassVarString.
self assert: newClass sharedPoolsString = self oldSharedPoolString.
self assert: newClass methodDictionary isEmpty.
self assert: newClass organization categories size = 1.
self assert: newClass organization categories first = Categorizer nullCategory.
self assert: (newClass class selectors includes: self selectorB).
self assert: (newClass class organization categoryOfElement: self selectorB) = self oldProtocol.
self assert: (newClass class sourceCodeAt: self selectorB) = self methodBSource.
self assert: (newClass class compiledMethodAt: self selectorB) timeStamp = self oldStamp.
self deny: newClass hasComment.!
Item was changed:
----- Method: DSDeltaApplyTest>>testCreateClassWithComment (in category 'clean class tests') -----
testCreateClassWithComment
| newClass |
self deny: (Smalltalk includesKey: self classBName).
self applyChange: (DSChangeSequence new add: (DSClassCreatedChange new
className: self classBName;
superclassName: self oldSuperclass name;
instVarNames: self oldInstVarString;
"classInstVarNames: self oldInstVarString;"
classVarNames: self oldClassVarString;
poolDictionaryNames: self oldSharedPoolString;
category: self oldClassCategory;
type: #normal;
+ yourself); add: (DSClassCommentChange new
- yourself); addChange: (DSClassCommentChange new
className: self classBName;
oldComment: nil;
newComment: self newComment;
oldStamp: nil;
newStamp: self newStamp;
yourself)).
self assert: (Smalltalk includesKey: self classBName).
newClass := Smalltalk at: self classBName.
self assert: newClass isBehavior.
self deny: newClass isMeta.
self assert: newClass class isMeta.
self assert: newClass isFixed.
self deny: newClass isVariable.
self assert: newClass isPointers.
self deny: newClass isBits.
self deny: newClass isBytes.
self assert: newClass isWords.
self deny: newClass isWeak.
self assert: newClass name == self classBName.
self assert: newClass superclass == self oldSuperclass.
self assert: newClass category == self oldClassCategory.
self assert: newClass instanceVariablesString = self oldInstVarString.
"self assert: class class instanceVariablesString = self oldInstVarString."
self assert: newClass classVariablesString = self oldClassVarString.
self assert: newClass sharedPoolsString = self oldSharedPoolString.
self assert: newClass methodDictionary isEmpty.
self assert: newClass class methodDictionary isEmpty.
self assert: newClass organization categories size = 1.
self assert: newClass organization categories first = Categorizer nullCategory.
self assert: newClass class organization categories size = 1.
self assert: newClass class organization categories first = Categorizer nullCategory.
self assert: newClass hasComment.
self assert: newClass organization classComment = self newComment.
self assert: newClass organization commentStamp = self newStamp.
!
Item was changed:
----- Method: DSDeltaApplyTest>>testCreateClassWithInstanceMethod (in category 'clean class tests') -----
testCreateClassWithInstanceMethod
| newClass |
self deny: (Smalltalk includesKey: self classBName).
self applyChange: (DSChangeSequence new add: (DSClassCreatedChange new
className: self classBName;
superclassName: self oldSuperclass name;
instVarNames: self oldInstVarString;
"classInstVarNames: self oldInstVarString;"
classVarNames: self oldClassVarString;
poolDictionaryNames: self oldSharedPoolString;
category: self oldClassCategory;
type: #normal;
+ yourself); add: (DSMethodAddedChange new
- yourself); addChange: (DSMethodAddedChange new
className: self classBName;
meta: false;
selector: self selectorB;
stamp: self oldStamp;
source: self methodBSource;
protocol: self oldProtocol;
yourself)).
self assert: (Smalltalk includesKey: self classBName).
newClass := Smalltalk at: self classBName.
self assert: newClass isBehavior.
self deny: newClass isMeta.
self assert: newClass class isMeta.
self assert: newClass isFixed.
self deny: newClass isVariable.
self assert: newClass isPointers.
self deny: newClass isBits.
self deny: newClass isBytes.
self assert: newClass isWords.
self deny: newClass isWeak.
self assert: newClass name == self classBName.
self assert: newClass superclass == self oldSuperclass.
self assert: newClass category == self oldClassCategory.
self assert: newClass instanceVariablesString = self oldInstVarString.
"self assert: class class instanceVariablesString = self oldInstVarString."
self assert: newClass classVariablesString = self oldClassVarString.
self assert: newClass sharedPoolsString = self oldSharedPoolString.
self assert: (newClass selectors includes: self selectorB).
self assert: (newClass organization categoryOfElement: self selectorB) = self oldProtocol.
self assert: (newClass sourceCodeAt: self selectorB) = self methodBSource.
self assert: (newClass compiledMethodAt: self selectorB) timeStamp = self oldStamp.
self assert: newClass class methodDictionary isEmpty.
self assert: newClass class organization categories size = 1.
self assert: newClass class organization categories first = Categorizer nullCategory.
self deny: newClass hasComment.!
Item was changed:
----- Method: DSDeltaApplyTest>>testChangeClassSuperclass (in category 'clean class tests') -----
testChangeClassSuperclass
"Change the Superclass of a class. The superclass exists, so this is valid and should succeed"
self applyChange: (DSClassSuperclassChange new
+ fromClass: class;
- className: self oldClassAName;
oldSuperclass: self oldSuperclass;
newSuperclass: self newSuperclass;
yourself).
self assert: (Smalltalk includesKey: self oldClassAName).
self assert: class isBehavior.
self deny: class isMeta.
self assert: class class isMeta.
self assert: class isFixed.
self assert: class name == self oldClassAName.
self assert: class superclass == self newSuperclass.
self assert: class category == self oldClassCategory.
self assert: class instanceVariablesString = self oldInstVarString.
self assert: class class instanceVariablesString = self oldInstVarString.
self assert: class classVariablesString = self oldClassVarString.
self assert: class sharedPoolsString = self oldSharedPoolString.
self assert: class hasComment.
self assert: class organization classComment = self oldComment.
self assert: class organization commentStamp = self oldStamp.
!
Item was changed:
----- Method: DSDeltaApplyTest>>testChangeInstVars (in category 'clean class tests') -----
testChangeInstVars
"Change the instance variables of a class. Should succeed"
self applyChange: (DSInstVarsChange new
+ fromClass: class;
- className: self oldClassAName;
oldVars: self oldInstVarString;
newVars: self newInstVarString;
yourself).
self assert: (Smalltalk includesKey: self oldClassAName).
self assert: class isBehavior.
self deny: class isMeta.
self assert: class class isMeta.
self assert: class isFixed.
self assert: class name == self oldClassAName.
self assert: class superclass == self oldSuperclass.
self assert: class category == self oldClassCategory.
self assert: class instanceVariablesString = self newInstVarString.
self assert: class class instanceVariablesString = self oldInstVarString.
self assert: class classVariablesString = self oldClassVarString.
self assert: class sharedPoolsString = self oldSharedPoolString.
self assert: class hasComment.
self assert: class organization classComment = self oldComment.
self assert: class organization commentStamp = self oldStamp.
!
Item was added:
+ ----- Method: DSClassNameChange class>>changing:from:to: (in category '*deltastreams-tests') -----
+ changing: aClass from: oldName to: newName
+ ^(self fromClass: aClass)
+ oldName: oldName;
+ newName: newName;
+ yourself!
Item was changed:
----- Method: DSDeltaApplyTest>>testRenameClass (in category 'clean class tests') -----
testRenameClass
"Rename a class to a new, free name. Should succeed"
self assert: (Smalltalk includesKey: self oldClassAName).
self applyChange: (DSClassNameChange
+ changing: class
- className: self oldClassAName
to: self newClassAName
).
self deny: (Smalltalk includesKey: self oldClassAName).
self assert: (Smalltalk includesKey: self newClassAName).
class := Smalltalk classNamed: self newClassAName.
self assert: class isBehavior.
self deny: class isMeta.
self assert: class class isMeta.
self assert: class isFixed.
self assert: class name == self newClassAName.
self assert: class superclass == self oldSuperclass.
self assert: class category == self oldClassCategory.
self assert: class instanceVariablesString = self oldInstVarString.
self assert: class class instanceVariablesString = self oldInstVarString.
self assert: class classVariablesString = self oldClassVarString.
self assert: class sharedPoolsString = self oldSharedPoolString.
self assert: class hasComment.
self assert: class organization classComment = self oldComment.
self assert: class organization commentStamp = self oldStamp.
!
Item was changed:
----- Method: DSDeltaApplyTest>>testChangeClassInstVars (in category 'clean class tests') -----
testChangeClassInstVars
"Change the insance variables on the metaclass. Should succeed"
self applyChange: (DSClassInstVarsChange new
+ fromClass: class;
- className: self oldClassAName;
oldVars: self oldInstVarString;
newVars: self newInstVarString;
yourself).
self assert: (Smalltalk includesKey: self oldClassAName).
self assert: class isBehavior.
self deny: class isMeta.
self assert: class class isMeta.
self assert: class isFixed.
self assert: class name == self oldClassAName.
self assert: class superclass == self oldSuperclass.
self assert: class category == self oldClassCategory.
self assert: class instanceVariablesString = self oldInstVarString.
self assert: class class instanceVariablesString = self newInstVarString.
self assert: class classVariablesString = self oldClassVarString.
self assert: class sharedPoolsString = self oldSharedPoolString.
self assert: class hasComment.
self assert: class organization classComment = self oldComment.
self assert: class organization commentStamp = self oldStamp.
!
Item was changed:
----- Method: DSDeltaApplyTest>>testChangeClassComment (in category 'clean class tests') -----
testChangeClassComment
"Change a class comment. Should succeed"
self applyChange: (DSClassCommentChange new
+ fromClass: class;
- className: self oldClassAName;
oldComment: self oldComment;
newComment: self newComment;
oldStamp: self oldStamp;
newStamp: self newStamp;
yourself).
self assert: (Smalltalk includesKey: self oldClassAName).
self assert: class isBehavior.
self deny: class isMeta.
self assert: class class isMeta.
self assert: class isFixed.
self assert: class name == self oldClassAName.
self assert: class superclass == self oldSuperclass.
self assert: class category == self oldClassCategory.
self assert: class instanceVariablesString = self oldInstVarString.
self assert: class class instanceVariablesString = self oldInstVarString.
self assert: class classVariablesString = self oldClassVarString.
self assert: class sharedPoolsString = self oldSharedPoolString.
self assert: class hasComment.
self assert: class organization classComment = self newComment.
self assert: class organization commentStamp = self newStamp.
!
Item was changed:
----- Method: DSDeltaApplyTest>>testChangeClassCategory (in category 'clean class tests') -----
testChangeClassCategory
"Change the category of a class. Should succeed"
self assert: (Smalltalk includesKey: self oldClassAName).
self applyChange: (DSClassCategoryChange
+ changing: class
- className: self oldClassAName
from: self oldClassCategory
to: self newClassCategory
).
self assert: class isBehavior.
self deny: class isMeta.
self assert: class class isMeta.
self assert: class isFixed.
self assert: class name == self oldClassAName.
self assert: class superclass == self oldSuperclass.
self assert: class category == self newClassCategory.
self assert: class instanceVariablesString = self oldInstVarString.
self assert: class class instanceVariablesString = self oldInstVarString.
self assert: class classVariablesString = self oldClassVarString.
self assert: class sharedPoolsString = self oldSharedPoolString.
self assert: class hasComment.
self assert: class organization classComment = self oldComment.
self assert: class organization commentStamp = self oldStamp.
!
Item was changed:
----- Method: DSDeltaAntiTest>>transformChangeClassVars: (in category 'class transforms') -----
transformChangeClassVars: change1
"Change the class pool variable names of a class. Valid; should succeed"
| change3 |
change3 := change1 asAntiChange.
self assert: change3 isClassVars.
self validateClassChange: change3 except: #classVars.
+ self assert: change3 newVars = self newClassVarString scanNames sort.
- self assert: change3 newVars = self newClassVarString sort scanNames.
self assert: change3 oldVars = self oldClassVarString scanNames sort.
^ change3 asAntiChange!
Item was changed:
----- Method: DSDeltaApplyTest>>testBadClassChangeClassVars (in category 'dirty class tests') -----
testBadClassChangeClassVars
"Change the class pool variable names of a non-existant class. Should create the class and give it the class vars"
self deny: (Smalltalk includesKey: self badClassName).
self applyChange: (DSClassVarsChange new
className: self badClassName;
oldVars: self oldClassVarString;
newVars: self newClassVarString;
yourself).
self assert: (Smalltalk includesKey: self badClassName).
class := Smalltalk classNamed: self badClassName.
self assert: class isBehavior.
self deny: class isMeta.
self assert: class class isMeta.
self assert: class isFixed.
self assert: class name == self badClassName.
self assert: class superclass == Object.
self assert: class category == Categorizer default.
self assert: class instanceVariablesString isEmpty.
self assert: class class instanceVariablesString isEmpty.
+ self assert: class classVariablesString = self newClassVarString scanNames sort asSpaceString.
- self assert: class classVariablesString = self newClassVarString.
self assert: class sharedPoolsString isEmpty.
self deny: class hasComment.!
Item was removed:
- ----- Method: DSDeltaNormalizeTest>>testCreateAndRemove (in category 'as yet unclassified') -----
- testCreateAndRemove
-
- self createClassB; removeTestClasses; createClassB.
- delta stopLogging; normalize.
- self assert: delta changes size = 2.
- self assert: delta changes first isClassDeleted.
- self assert: delta changes second isClassCreated.!
Item was removed:
- DSTestCase subclass: #DSDeltaNormalizeTest
- instanceVariableNames: 'delta'
- classVariableNames: ''
- poolDictionaries: ''
- category: 'DeltaStreams-Tests'!
Item was removed:
- DSTestCase subclass: #DSDeltaEditorTest
- instanceVariableNames: ''
- classVariableNames: ''
- poolDictionaries: ''
- category: 'DeltaStreams-Tests'!
Item was removed:
- ----- Method: DSDeltaNormalizeTest>>setUp (in category 'as yet unclassified') -----
- setUp
- delta := DSDelta new.
- class := self createClassAWithMethods.
- self createTestPools.
- delta startLogging.!
Item was removed:
- ----- Method: DSDeltaNormalizeTest>>testMoveClassNameChanges (in category 'as yet unclassified(slow)') -----
- testMoveClassNameChanges
-
- | de |
- delta stopLogging.
- de := delta editor.
-
- "Make three changes."
- de createClassName: 'A'; comment: 'A comment'; instVars: 'one two'.
- de createClassName: 'Z'; comment: 'Z comment'.
-
- de delta renameClassFrom: 'A' to: 'B'.
- de className: 'B'; instVars: 'one two'.
-
- de delta renameClassFrom: 'B' to: 'C'.
- de delta renameClassFrom: 'C' to: 'D'.
-
- delta moveClassNameChanges.
- self assert: delta changes size = 2.
- self assert: delta changes first isClassDeleted.
- self assert: delta changes second isClassCreated.!
Item was removed:
- ----- Method: DSDeltaEditorTest>>testManualCreationApplyAndRevert (in category 'as yet unclassified') -----
- testManualCreationApplyAndRevert
-
- | de newComment class className |.
- className := #DSTestClassA.
- newComment := 'A class comment for classA.'.
-
- de := DSDelta new editor.
-
- "Make three changes."
- de createClassName: className.
- de comment: newComment.
- de instVars: 'one two'.
-
- self assert: de delta changes size = 3.
- self deny: (Smalltalk hasClassNamed: className).
- de apply. "should create the class"
-
- class := Smalltalk classNamed: className.
- self assert: class notNil.
-
- self assert: class organization classComment = newComment.
- self assert: class instVarNames asSpaceString = 'one two'.
-
- de revert. "should make the class go poof"
-
- self deny: (Smalltalk hasClassNamed: className)!
Item was removed:
- ----- Method: DSDeltaNormalizeTest>>tearDown (in category 'as yet unclassified') -----
- tearDown
- delta stopLogging.
- delta := class := nil.
- self removeTestClasses; removeTestPools!
Item was removed:
- ----- Method: DSDeltaEditorTest>>setUp (in category 'as yet unclassified') -----
- setUp!
Item was removed:
- ----- Method: DSDeltaEditorTest>>tearDown (in category 'as yet unclassified') -----
- tearDown
- .
- self removeTestClasses!
More information about the Packages
mailing list