Nicolas Cellier uploaded a new version of KernelTests to project The Trunk: http://source.squeak.org/trunk/KernelTests-nice.312.mcz
==================== Summary ====================
Name: KernelTests-nice.312 Author: nice Time: 20 September 2016, 11:02:44.892325 pm UUID: 20bb751e-7ac1-4e91-8437-9f2cdcb8df5c Ancestors: KernelTests-mt.311
ClassBuilder tests for half and double word variable subclasses
=============== Diff against KernelTests-mt.311 ===============
Item was added: + ----- Method: ClassBuilderTest>>makeDoubleWordVariableSubclassOf: (in category 'utilities') ----- + makeDoubleWordVariableSubclassOf: aClass + ^ aClass variableDoubleWordSubclass: self subClassName + instanceVariableNames: '' + classVariableNames: '' + poolDictionaries: '' + category: self categoryNameForTemporaryClasses!
Item was added: + ----- Method: ClassBuilderTest>>makeHalfWordVariableSubclassOf: (in category 'utilities') ----- + makeHalfWordVariableSubclassOf: aClass + ^ aClass variableHalfWordSubclass: self subClassName + instanceVariableNames: '' + classVariableNames: '' + poolDictionaries: '' + category: self categoryNameForTemporaryClasses!
Item was changed: ----- Method: ClassBuilderTest>>testByteVariableSubclass (in category 'testing - format') ----- testByteVariableSubclass "Ensure that the invariants for superclass/subclass format are preserved" baseClass := Object variableByteSubclass: self baseClassName instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: self categoryNameForTemporaryClasses. [
subClass := self makeNormalSubclassOf: baseClass. self deny: (subClass isPointers). self assert: (subClass isVariable). self deny: (subClass isWeak). self assert: (subClass isBytes). + self deny: (subClass isWords). + self deny: (subClass isHalfWords). + self deny: (subClass isDoubleWords). subClass removeFromSystem.
"pointer classes" self should:[self makeIVarsSubclassOf: baseClass] raise: Error. self should:[self makeVariableSubclassOf: baseClass] raise: Error. self should:[self makeWeakSubclassOf: baseClass] raise: Error.
"bit classes" subClass := self makeByteVariableSubclassOf: baseClass. self deny: (subClass isPointers). self assert: (subClass isVariable). self deny: (subClass isWeak). self assert: (subClass isBytes). + self deny: (subClass isWords). + self deny: (subClass isHalfWords). + self deny: (subClass isDoubleWords). subClass removeFromSystem.
self should:[self makeWordVariableSubclassOf: baseClass] raise: Error. + self should:[self makeHalfWordVariableSubclassOf: baseClass] raise: Error. + self should:[self makeDoubleWordVariableSubclassOf: baseClass] raise: Error.
] ensure:[self cleanup].!
Item was added: + ----- Method: ClassBuilderTest>>testDoubleWordVariableSubclass (in category 'testing - format') ----- + testDoubleWordVariableSubclass + "Ensure that the invariants for superclass/subclass format are preserved" + baseClass := Object variableDoubleWordSubclass: self baseClassName + instanceVariableNames: '' + classVariableNames: '' + poolDictionaries: '' + category: self categoryNameForTemporaryClasses. + [ + subClass := self makeNormalSubclassOf: baseClass. + self deny: (subClass isPointers). + self assert: (subClass isVariable). + self assert: (subClass isDoubleWords). + self deny: (subClass isWeak). + self deny: (subClass isBytes). + self deny: (subClass isHalfWords). + self deny: (subClass isWords). + subClass removeFromSystem. + + "pointer classes" + self should:[self makeIVarsSubclassOf: baseClass] raise: Error. + self should:[self makeVariableSubclassOf: baseClass] raise: Error. + self should:[self makeWeakSubclassOf: baseClass] raise: Error. + + "bit classes" + self should:[self makeByteVariableSubclassOf: baseClass] raise: Error. + self should:[self makeHalfWordVariableSubclassOf: baseClass] raise: Error. + self should:[self makeWordVariableSubclassOf: baseClass] raise: Error. + subClass := self makeDoubleWordVariableSubclassOf: baseClass. + self deny: (subClass isPointers). + self assert: (subClass isVariable). + self assert: (subClass isDoubleWords). + self deny: (subClass isWeak). + self deny: (subClass isBytes). + self deny: (subClass isHalfWords). + self deny: (subClass isWords). + subClass removeFromSystem. + ] ensure:[self cleanup].!
Item was added: + ----- Method: ClassBuilderTest>>testHalfWordVariableSubclass (in category 'testing - format') ----- + testHalfWordVariableSubclass + "Ensure that the invariants for superclass/subclass format are preserved" + baseClass := Object variableHalfWordSubclass: self baseClassName + instanceVariableNames: '' + classVariableNames: '' + poolDictionaries: '' + category: self categoryNameForTemporaryClasses. + [ + subClass := self makeNormalSubclassOf: baseClass. + self deny: (subClass isPointers). + self assert: (subClass isVariable). + self assert: (subClass isHalfWords). + self deny: (subClass isWeak). + self deny: (subClass isBytes). + self deny: (subClass isWords). + self deny: (subClass isDoubleWords). + subClass removeFromSystem. + + "pointer classes" + self should:[self makeIVarsSubclassOf: baseClass] raise: Error. + self should:[self makeVariableSubclassOf: baseClass] raise: Error. + self should:[self makeWeakSubclassOf: baseClass] raise: Error. + + "bit classes" + self should:[self makeByteVariableSubclassOf: baseClass] raise: Error. + self should:[self makeWordVariableSubclassOf: baseClass] raise: Error. + self should:[self makeDoubleWordVariableSubclassOf: baseClass] raise: Error. + subClass := self makeHalfWordVariableSubclassOf: baseClass. + self deny: (subClass isPointers). + self assert: (subClass isVariable). + self assert: (subClass isHalfWords). + self deny: (subClass isWeak). + self deny: (subClass isBytes). + self deny: (subClass isWords). + self deny: (subClass isDoubleWords). + subClass removeFromSystem. + ] ensure:[self cleanup].!
Item was changed: ----- Method: ClassBuilderTest>>testWordVariableSubclass (in category 'testing - format') ----- testWordVariableSubclass "Ensure that the invariants for superclass/subclass format are preserved" baseClass := Object variableWordSubclass: self baseClassName instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: self categoryNameForTemporaryClasses. [ subClass := self makeNormalSubclassOf: baseClass. self deny: (subClass isPointers). self assert: (subClass isVariable). + self assert: (subClass isWords). self deny: (subClass isWeak). self deny: (subClass isBytes). + self deny: (subClass isHalfWords). + self deny: (subClass isDoubleWords). subClass removeFromSystem.
"pointer classes" self should:[self makeIVarsSubclassOf: baseClass] raise: Error. self should:[self makeVariableSubclassOf: baseClass] raise: Error. self should:[self makeWeakSubclassOf: baseClass] raise: Error.
"bit classes" self should:[self makeByteVariableSubclassOf: baseClass] raise: Error. + self should:[self makeHalfWordVariableSubclassOf: baseClass] raise: Error. + self should:[self makeDoubleWordVariableSubclassOf: baseClass] raise: Error. subClass := self makeWordVariableSubclassOf: baseClass. self deny: (subClass isPointers). self assert: (subClass isVariable). + self assert: (subClass isWords). self deny: (subClass isWeak). self deny: (subClass isBytes). + self deny: (subClass isHalfWords). + self deny: (subClass isDoubleWords). subClass removeFromSystem. ] ensure:[self cleanup].!
packages@lists.squeakfoundation.org