[Pkg] DeltaStreams: DeltaStreams-Tests-mtf.7.mcz

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Tue Mar 10 02:00:50 UTC 2009


A new version of DeltaStreams-Tests was added to project DeltaStreams:
http://www.squeaksource.com/DeltaStreams/DeltaStreams-Tests-mtf.7.mcz

==================== Summary ====================

Name: DeltaStreams-Tests-mtf.7
Author: mtf
Time: 9 March 2009, 10:00 pm
UUID: 42f74467-f73a-4023-b2ec-86f3710a1160
Ancestors: DeltaStreams-Tests-mtf.6

DSDeltaApplyTest now is green

=============== Diff against DeltaStreams-Tests-mtf.6 ===============

Item was changed:
  ----- Method: DSDeltaApplyTest>>testCreateClassWithBadSuperclass (in category 'dirty class tests') -----
  testCreateClassWithBadSuperclass
+ 	"Create a Class with a non-existant superclass. Should create the class and the superclass"
- 	"Create a Class with a non-existant superclass. Should create the class, but it's superclass should be Object instead'"
  	
  	| newClass |
  	self deny: (Smalltalk includesKey: self classBName).
  	self applyChange: (DSClassCreatedChange new
  		className: self classBName;
  		superclassName: self badSuperclassName;
  		instVarNames: self oldInstVarString;
  		"classInstVarNames: self oldInstVarString;"
  		classVarNames: self oldClassVarString;
  		poolDictionaryNames: self oldSharedPoolString;
  		category: self oldClassCategory;
  		type: #normal;
  	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 name == self badSuperclassName.
- 	self assert: newClass superclass == Object.
  	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 deny:  newClass hasComment.!

Item was changed:
  ----- Method: DSDeltaApplyTest>>testChangeClassBadSuperclass (in category 'dirty class tests') -----
  testChangeClassBadSuperclass
  	"Change the Superclass of a class to a non-existing superclass. Invalid; should create the superclass"
  	
  	self deny: (Smalltalk includesKey: self badSuperclassName).
  	self applyChange: (DSClassSuperclassChange new
  		className: self oldClassAName;
  		oldSuperclass: self oldSuperclass;
+ 		newSuperclassName: self badSuperclassName;
- 		newSuperclass: self badSuperclassName;
  	yourself).
  	
  	self assert: (Smalltalk includesKey: self badSuperclassName).
  	class := Smalltalk classNamed: 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 name == self badClassName.
  	self assert: class superclass == self badSuperclass.
  	self assert: class category == Categorizer default.
  	self assert: class instanceVariablesString isEmpty.
  	self assert: class class instanceVariablesString isEmpty.
  	self assert: class classVariablesString isEmpty.
  	self assert: class sharedPoolsString isEmpty.
  	self deny:  class hasComment.
  !

Item was changed:
  ----- Method: DSDeltaApplyTest>>testCreateVariableClass (in category 'clean class tests') -----
  testCreateVariableClass
  	
  	| newClass |
  	self deny: (Smalltalk includesKey: self classBName).
  	self applyChange: (DSClassCreatedChange new
+ 		fromChange: self oldClassAChange;
  		className: self classBName;
- 		superclassName: self oldSuperclass name;
- 		instVarNames: self oldInstVarString;
- 		"classInstVarNames: self oldInstVarString;"
- 		classVarNames: self oldClassVarString;
- 		poolDictionaryNames: self oldSharedPoolString;
- 		category: self oldClassCategory;
  		type: #variable;
  	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 deny:  newClass isFixed.
  	self assert: 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 deny:  newClass hasComment.!

Item was changed:
  ----- Method: DSDeltaApplyTest>>testCreateVariableByteClass (in category 'clean class tests') -----
  testCreateVariableByteClass
  	
  	| newClass |
  	self deny: (Smalltalk includesKey: self classBName).
  	self applyChange: (DSClassCreatedChange new
+ 		fromChange: self oldClassAChange;
  		className: self classBName;
- 		superclassName: self oldSuperclass name;
- 		instVarNames: self oldInstVarString;
- 		"classInstVarNames: self oldInstVarString;"
- 		classVarNames: self oldClassVarString;
- 		poolDictionaryNames: self oldSharedPoolString;
- 		category: self oldClassCategory;
  		type: #bytes;
  	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 deny:  newClass isFixed.
  	self assert: newClass isVariable.
  	self deny:  newClass isPointers.
  	self assert: newClass isBits.
  	self assert: newClass isBytes.
  	self deny:  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 deny:  newClass hasComment.!

Item was changed:
  ----- Method: DSDeltaApplyTest>>testRemoveClass (in category 'clean class tests') -----
  testRemoveClass
  	
  	self assert: (Smalltalk includesKey: self oldClassAName).
  	self applyChange: (DSClassRemovedChange new
+ 		fromChange: self oldClassAChange;
- 		className: self oldClassAName;
- 		superclassName: self oldSuperclass name;
- 		instVarNames: self oldInstVarString;
- 		"classInstVarNames: self oldLocalVarString;"
- 		classVarNames: self oldClassVarString;
- 		poolDictionaryNames: self oldSharedPoolString;
- 		category: self oldClassCategory;
- 		type: #normal;
  	yourself).
  	
  	self deny: (Smalltalk includesKey: self classBName).!

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
+ 		fromChange: self oldClassAChange;
- 		fromClass: class;
  		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
+ 		fromChange: self oldClassAChange;
- 		fromClass: class;
  		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>>testCreateClassWithBadPools (in category 'dirty class tests') -----
  testCreateClassWithBadPools
  	
  	| newClass |
  	self deny: (Smalltalk includesKey: self classBName).
  	self applyChange: (DSClassCreatedChange new
  		className: self classBName;
  		superclassName: self oldSuperclass name;
  		instVarNames: self oldInstVarString;
  		"classInstVarNames: self oldInstVarString;"
  		classVarNames: self oldClassVarString;
  		poolDictionaryNames: self badSharedPoolString;
  		category: self oldClassCategory;
+ 		type: #normal;
- 		type: #variable;
  	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 badSharedPoolString.
  	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 deny:  newClass hasComment.!

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
+ 		fromChange: self oldClassAChange;
  		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
  		className: self classBName;
  		meta: true;
  		selector: self selectorB;
  		stamp: self oldStamp;
  		source: self methodBSource;
  		protocol: self oldProtocol;
+ 	yourself); yourself).
- 	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 assert: newClass hasComment.!
- 	self deny:  newClass hasComment.!

Item was changed:
  ----- Method: DSDeltaApplyTest>>testBadSharedPoolsBadHistory (in category 'dirty class tests') -----
  testBadSharedPoolsBadHistory
  	"Uses a non-existant pool with invalid history"
  	
  	self applyChange: (DSSharedPoolVarsChange new
+ 		fromChange: self oldClassAChange;
- 		className: self oldClassAName;
  		oldVars: self newSharedPoolString;
  		newVars: self badSharedPoolString;
  	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 badSharedPoolString.
  	self assert: class hasComment.
  	self assert: class organization classComment = self oldComment.
  	self assert: class organization commentStamp = self oldStamp.
  	!

Item was changed:
  ----- Method: DSDeltaApplyTest>>testChangeClassCategoryBadHistory (in category 'dirty class tests') -----
  testChangeClassCategoryBadHistory
  	"Change the category of a class, where the history is wrong. Should succeed"
  	
  	self assert: (Smalltalk includesKey: self oldClassAName).
+ 	self applyChange: (DSClassCategoryChange new
+ 		fromChange: self oldClassAChange;
+ 		oldCategory: self badClassCategory;
+ 		newCategory: self newClassCategory;
+ 	yourself).
- 	self applyChange: (DSClassCategoryChange
- 		className: self oldClassAName
- 		from: self badClassCategory
- 		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: DSDeltaApplyTest>>testCreateClassWithComment (in category 'clean class tests') -----
  testCreateClassWithComment
  	
  	| newClass |
  	self deny: (Smalltalk includesKey: self classBName).
  	self applyChange: (DSChangeSequence new add: (DSClassCreatedChange new
+ 		fromChange: self oldClassAChange;
  		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
+ 		fromChange: self oldClassAChange;
  		className: self classBName;
  		oldComment: nil;
  		newComment: self newComment;
  		oldStamp: nil;
  		newStamp: self newStamp;
+ 	yourself); yourself).
- 	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
+ 		fromChange: self oldClassAChange;
  		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
  		className: self classBName;
  		meta: false;
  		selector: self selectorB;
  		stamp: self oldStamp;
  		source: self methodBSource;
  		protocol: self oldProtocol;
+ 	yourself); yourself).
- 	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 assert: newClass hasComment.!
- 	self deny:  newClass hasComment.!

Item was changed:
  ----- Method: DSDeltaApplyTest>>testChangeClassCommentBadHistory (in category 'dirty class tests') -----
  testChangeClassCommentBadHistory
  	"Change a class comment, where the history is wrong. Should succeed"
  	
  	self applyChange: (DSClassCommentChange new
+ 		fromChange: self oldClassAChange;
- 		className: self oldClassAName;
  		oldComment: self badComment;
  		newComment: self newComment;
  		oldStamp: self badStamp;
  		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>>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
+ 		fromChange: self oldClassAChange;
- 		fromClass: class;
  		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
+ 		fromChange: self oldClassAChange;
- 		fromClass: class;
  		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 changed:
  ----- Method: DSDeltaApplyTest>>testCreateVariableWordClass (in category 'clean class tests') -----
  testCreateVariableWordClass
  	
  	| newClass |
  	self deny: (Smalltalk includesKey: self classBName).
  	self applyChange: (DSClassCreatedChange new
+ 		fromChange: self oldClassAChange;
  		className: self classBName;
- 		superclassName: self oldSuperclass name;
- 		instVarNames: self oldInstVarString;
- 		"classInstVarNames: self oldInstVarString;"
- 		classVarNames: self oldClassVarString;
- 		poolDictionaryNames: self oldSharedPoolString;
- 		category: self oldClassCategory;
  		type: #words;
  	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 deny:  newClass isFixed.
  	self assert: newClass isVariable.
  	self deny:  newClass isPointers.
  	self assert: 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 deny:  newClass hasComment.!

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 new
+ 		fromChange: self oldClassAChange;
+ 		newName: self newClassAName;
+ 	yourself).
- 	self applyChange: (DSClassNameChange
- 		changing: class
- 		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>>testBadClassChangeClassBadSuperclass (in category 'dirty class tests') -----
  testBadClassChangeClassBadSuperclass
  	"Change the Superclass of a non-existing class to a non-existing superclass. Should create the class with a superclass of Object"
  	
  	self deny: (Smalltalk includesKey: self badClassName).
  	self applyChange: (DSClassSuperclassChange new
  		className: self badClassName;
  		oldSuperclass: self oldSuperclass;
+ 		newSuperclassName: self badSuperclassName;
- 		newSuperclass: self badSuperclassName;
  	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 name = self badSuperclassName.
+ 	self assert: class superclass superclass == Object.
- 	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 isEmpty.
  	self assert: class sharedPoolsString isEmpty.
  	self deny:  class hasComment.
  !

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
+ 		fromChange: self oldClassAChange;
- 		fromClass: class;
  		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>>testCreateWeakClass (in category 'clean class tests') -----
  testCreateWeakClass
  	
  	| newClass |
  	self deny: (Smalltalk includesKey: self classBName).
  	self applyChange: (DSClassCreatedChange new
+ 		fromChange: self oldClassAChange;
  		className: self classBName;
- 		superclassName: self oldSuperclass name;
- 		instVarNames: self oldInstVarString;
- 		"classInstVarNames: self oldInstVarString;"
- 		classVarNames: self oldClassVarString;
- 		poolDictionaryNames: self oldSharedPoolString;
- 		category: self oldClassCategory;
  		type: #weak;
  	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 deny:  newClass isFixed.
  	self assert: newClass isVariable.
  	self assert: newClass isPointers.
  	self deny:  newClass isBits.
  	self deny:  newClass isBytes.
  	self assert: newClass isWords.
  	self assert: 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 deny:  newClass hasComment.!

Item was changed:
  ----- Method: DSDeltaApplyTest>>testChangeInstVarsBadHistory (in category 'dirty class tests') -----
  testChangeInstVarsBadHistory
  	"Change the instance variables of a class, where the history is wrong. Should succeed"
  	
  	self applyChange: (DSInstVarsChange new
+ 		fromChange: self oldClassAChange;
- 		className: self oldClassAName;
  		oldVars: self badInstVarString;
  		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 changed:
  ----- Method: DSDeltaApplyTest>>testChangeClassVarsBadHistory (in category 'dirty class tests') -----
  testChangeClassVarsBadHistory
  	"Change the class pool variable names of a class, where the history is wrong. should succeed"
  	
  	self applyChange: (DSClassVarsChange new
+ 		fromChange: self oldClassAChange;
- 		className: self oldClassAName;
  		oldVars: self badClassVarString;
  		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>>testChangeClassComment (in category 'clean class tests') -----
  testChangeClassComment
  	"Change a class comment. Should succeed"
  	
  	self applyChange: (DSClassCommentChange new
+ 		fromChange: self oldClassAChange;
- 		fromClass: class;
  		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>>testBadSharedPools (in category 'dirty class tests') -----
  testBadSharedPools
  	"Uses a non-existant pool"
  	
  	self applyChange: (DSSharedPoolVarsChange new
+ 		fromChange: self oldClassAChange;
- 		className: self oldClassAName;
  		oldVars: self oldSharedPoolString;
  		newVars: self badSharedPoolString;
  	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 badSharedPoolString.
  	self assert: class hasComment.
  	self assert: class organization classComment = self oldComment.
  	self assert: class organization commentStamp = self oldStamp.
  	!

Item was added:
+ ----- Method: DSTestCase>>oldClassAChange (in category 'mocks') -----
+ oldClassAChange
+ 	^ DSClassChange new
+ 		superclassName: self oldSuperclass name;
+ 		className: self oldClassAName;
+ 		instVarNames: self oldInstVarString;
+ 		classVarNames: self oldClassVarString;
+ 		poolDictionaryNames: self oldSharedPoolString;
+ 		category: self oldClassCategory;
+ 		classInstVarNames: self oldInstVarString;
+ 		comment: self oldComment;
+ 		stamp: self oldStamp;
+ 		yourself!

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 new
+ 		fromChange: self oldClassAChange;
+ 		oldCategory: self oldClassCategory;
+ 		newCategory: self newClassCategory;
+ 	yourself).
- 	self applyChange: (DSClassCategoryChange
- 		changing: class
- 		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: DSDeltaApplyTest>>testClassRenameConflict (in category 'dirty class tests') -----
  testClassRenameConflict
+ "Rename an existing class to the name of another existing class. Invalid. Should raise an error"
- "Rename an existing class to the name of another existing class. Invalid. Not sure what the result should be:
- 	Give an error?
- 	Merge the two classes?
- 	Should methods merged from old class overwrite those in new class having the same name?
- 	Should instance variables/class variables/shared pools/class instance variables/class comment be moved?
- 	Should class variables/class instance variables/shared pools/class comment overwrite those in the new class having the same name?
- 	Should class with the old name be removed?
- My best guess as to the most appropriate forceful action is to merge the classes, moving everything from old name to new name, overwriting anything in new name with the old name. I definitely don't want to give an error, because presumably, the user has already been told about this and said 'Yes, I really want to do this, even though it is dumb'."
- 
- 	self error: 'This test is not yet well-defined'.
- 	self shouldBeImplemented.
  
  	self createClassB.
  	self assert: (Smalltalk includesKey: self oldClassAName).
  	self assert: (Smalltalk includesKey: self classBName).
+ 	self should: [self applyChange: (DSClassNameChange new
+ 		className: self classBName;
+ 		oldName: self classBName;
+ 		newName: self oldClassAName;
+ 	yourself)] raise: Error.
- 	self applyChange: (DSClassNameChange
- 		className: self classBName
- 		to: self oldClassAName
- 	).
  	
- 	self deny:  (Smalltalk includesKey: self newClassAName).
- 	self deny:  (Smalltalk includesKey: self classBName).
  	self assert: (Smalltalk includesKey: self oldClassAName).
+ 	self assert: (Smalltalk includesKey: self classBName).!
- 	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>>testChangeClassInstVarsBadHistory (in category 'dirty class tests') -----
  testChangeClassInstVarsBadHistory
  	"Change the insance variables on the metaclass, where the history is wrong. Should succeed"
  	
  	self applyChange: (DSClassInstVarsChange new
+ 		fromChange: self oldClassAChange;
- 		className: self oldClassAName;
  		oldVars: self badInstVarString;
  		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>>testChangeClassSuperclassBadHistory (in category 'dirty class tests') -----
  testChangeClassSuperclassBadHistory
  	"Change the Superclass of a class, where the history is wrong. The superclass exists, so this is valid and should succeed"
  	
  	self applyChange: (DSClassSuperclassChange new
+ 		fromChange: self oldClassAChange;
- 		className: self oldClassAName;
  		oldSuperclassName: self badSuperclassName;
  		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>>testChangeClassBadSuperclassBadHistory (in category 'dirty class tests') -----
  testChangeClassBadSuperclassBadHistory
  	"Change the Superclass of a class to a non-existing superclass with bad history. Invalid; should create the superclass"
  	
- 	self deny: (Smalltalk includesKey: self newSuperclassName).
  	self deny: (Smalltalk includesKey: self badSuperclassName).
  	self applyChange: (DSClassSuperclassChange new
  		className: self oldClassAName;
  		oldSuperclass: self newSuperclass;
+ 		newSuperclassName: self badSuperclassName;
- 		newSuperclass: self badSuperclassName;
  	yourself).
  	
  	self assert: (Smalltalk includesKey: self badSuperclassName).
  	class := Smalltalk classNamed: 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 name == self badClassName.
  	self assert: class superclass == self badSuperclass.
  	self assert: class category == Categorizer default.
  	self assert: class instanceVariablesString isEmpty.
  	self assert: class class instanceVariablesString isEmpty.
  	self assert: class classVariablesString isEmpty.
  	self assert: class sharedPoolsString isEmpty.
  	self deny:  class hasComment.
  !

Item was changed:
  ----- Method: DSTestCase>>removeTestClasses (in category 'private') -----
  removeTestClasses
  
+ 	| name |
+ 	^ #(oldClassAName newClassAName classBName badSuperclassName badClassAName badClassName) do: [:ea |
+ 		name := self perform: ea.
+ 		class := Smalltalk at: name ifAbsent: [nil].
+ 		class ifNotNil: [class removeFromSystem]]!
- 	{self newClassCategory.
- 	self oldClassCategory.
- 	self badClassCategory.
- 	Categorizer default} do: [:cat |
- 		(SystemOrganization listAtCategoryNamed: cat)
- 			do: [:name | Smalltalk at: name ifPresent: [:aClass | aClass removeFromSystem]].
- 		SystemOrganization removeCategory: cat]!

Item was changed:
  ----- Method: DSDeltaApplyTest>>testChangeSharedPoolsBadHistory (in category 'dirty class tests') -----
  testChangeSharedPoolsBadHistory
  	"Change the shared pools of a class, where the history is wrong. The pools exist, so this should succeed"
  	
  	self applyChange: (DSSharedPoolVarsChange new
+ 		fromChange: self oldClassAChange;
- 		className: self oldClassAName;
  		oldVars: self badSharedPoolString;
  		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>>testCreateNormalClass (in category 'clean class tests') -----
  testCreateNormalClass
  	
  	| newClass |
  	self deny: (Smalltalk includesKey: self classBName).
  	self applyChange: (DSClassCreatedChange new
+ 		fromChange: self oldClassAChange;
  		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).
  	
  	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 deny:  newClass hasComment.!



More information about the Packages mailing list