[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