Discussion:
The Trunk: Tests-pre.404.mcz
(too old to reply)
c***@source.squeak.org
0000-12-08 12:27:45 UTC
Permalink
Patrick Rein uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-pre.404.mcz

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

Name: Tests-pre.404
Author: pre
Time: 7 December 2018, 1:27:40.307037 pm
UUID: d2787b99-db2d-4f7a-b4ed-4735c24b6eca
Ancestors: Tests-dtl.403

Categorizes unclassified methods in the Tests package, also recategorizes some test methods from testing to tests but not all (another door of the message categories advent calendar)

=============== Diff against Tests-dtl.403 ===============

Item was changed:
+ ----- Method: AbstractObjectsAsMethod>>flushCache (in category 'cleaning') -----
- ----- Method: AbstractObjectsAsMethod>>flushCache (in category 'as yet unclassified') -----
flushCache!

Item was changed:
+ ----- Method: AbstractObjectsAsMethod>>methodClass: (in category 'accessing') -----
- ----- Method: AbstractObjectsAsMethod>>methodClass: (in category 'as yet unclassified') -----
methodClass: aMethodClass!

Item was changed:
+ ----- Method: AbstractObjectsAsMethod>>selector: (in category 'accessing') -----
- ----- Method: AbstractObjectsAsMethod>>selector: (in category 'as yet unclassified') -----
selector: aSymbol!

Item was changed:
+ ----- Method: BitBltClipBugs>>testDrawingWayOutside (in category 'tests') -----
- ----- Method: BitBltClipBugs>>testDrawingWayOutside (in category 'as yet unclassified') -----
testDrawingWayOutside
| f1 bb f2 |
f1 := Form extent: ***@100 depth: 1.
f2 := Form extent: ***@100 depth: 1.
bb := BitBlt toForm: f1.
bb combinationRule: 3.
bb sourceForm: f2.
bb destOrigin: SmallInteger maxVal squared asPoint.
bb width: 100; height: 100.

"This should not throw an exception:"
bb copyBits.
!

Item was changed:
+ ----- Method: BitBltClipBugs>>testDrawingWayOutside2 (in category 'tests') -----
- ----- Method: BitBltClipBugs>>testDrawingWayOutside2 (in category 'as yet unclassified') -----
testDrawingWayOutside2
| f1 bb f2 |
f1 := Form extent: ***@100 depth: 1.
f2 := Form extent: ***@100 depth: 1.
bb := BitBlt toForm: f1.
bb combinationRule: 3.
bb sourceForm: f2.
bb destOrigin: ***@0.
bb width: SmallInteger maxVal squared; height: SmallInteger maxVal squared.

"This should not throw an exception:"
bb copyBits.!

Item was changed:
+ ----- Method: BitBltClipBugs>>testDrawingWayOutside3 (in category 'tests') -----
- ----- Method: BitBltClipBugs>>testDrawingWayOutside3 (in category 'as yet unclassified') -----
testDrawingWayOutside3
| f1 bb f2 |
f1 := Form extent: ***@100 depth: 1.
f2 := Form extent: ***@100 depth: 1.
bb := BitBlt toForm: f1.
bb combinationRule: 3.
bb sourceForm: f2.
bb destOrigin: SmallInteger maxVal squared asPoint.
bb width: SmallInteger maxVal squared; height: SmallInteger maxVal squared.

"This should not throw an exception:"
bb copyBits.
!

Item was changed:
+ ----- Method: BitBltClipBugs>>testDrawingWayOutside4 (in category 'tests') -----
- ----- Method: BitBltClipBugs>>testDrawingWayOutside4 (in category 'as yet unclassified') -----
testDrawingWayOutside4
| f1 bb f2 |
f1 := Form extent: ***@100 depth: 1.
f2 := Form extent: ***@100 depth: 1.
bb := BitBlt toForm: f1.
bb combinationRule: 3.
bb sourceForm: f2.
bb destOrigin: SmallInteger maxVal squared asPoint.
bb width: 100; height: 100.
bb sourceOrigin: SmallInteger maxVal squared asPoint.

"This should not throw an exception:"
bb copyBits.
!

Item was changed:
+ ----- Method: BitBltClipBugs>>testDrawingWayOutside5 (in category 'tests') -----
- ----- Method: BitBltClipBugs>>testDrawingWayOutside5 (in category 'as yet unclassified') -----
testDrawingWayOutside5
| f1 bb f2 |
f1 := Form extent: ***@100 depth: 1.
f2 := Form extent: ***@100 depth: 1.
bb := BitBlt toForm: f1.
bb combinationRule: 3.
bb sourceForm: f2.
bb destOrigin: ***@0.
bb width: SmallInteger maxVal squared; height: SmallInteger maxVal squared.
bb sourceOrigin: SmallInteger maxVal squared asPoint.

"This should not throw an exception:"
bb copyBits.!

Item was changed:
+ ----- Method: BitBltClipBugs>>testDrawingWayOutside6 (in category 'tests') -----
- ----- Method: BitBltClipBugs>>testDrawingWayOutside6 (in category 'as yet unclassified') -----
testDrawingWayOutside6
| f1 bb f2 |
f1 := Form extent: ***@100 depth: 1.
f2 := Form extent: ***@100 depth: 1.
bb := BitBlt toForm: f1.
bb combinationRule: 3.
bb sourceForm: f2.
bb destOrigin: SmallInteger maxVal squared asPoint.
bb width: SmallInteger maxVal squared; height: SmallInteger maxVal squared.
bb sourceOrigin: SmallInteger maxVal squared asPoint.

"This should not throw an exception:"
bb copyBits.
!

Item was changed:
+ ----- Method: BitBltClipBugs>>testFillingWayOutside (in category 'tests') -----
- ----- Method: BitBltClipBugs>>testFillingWayOutside (in category 'as yet unclassified') -----
testFillingWayOutside
| f1 bb |
f1 := Form extent: ***@100 depth: 1.
bb := BitBlt toForm: f1.
bb combinationRule: 3.
bb fillColor: Color black.
bb destOrigin: SmallInteger maxVal squared asPoint.
bb width: 100; height: 100.

"This should not throw an exception:"
bb copyBits.
!

Item was changed:
+ ----- Method: BitBltClipBugs>>testFillingWayOutside2 (in category 'tests') -----
- ----- Method: BitBltClipBugs>>testFillingWayOutside2 (in category 'as yet unclassified') -----
testFillingWayOutside2
| f1 bb |
f1 := Form extent: ***@100 depth: 1.
bb := BitBlt toForm: f1.
bb combinationRule: 3.
bb fillColor: Color black.
bb destOrigin: ***@0.
bb width: SmallInteger maxVal squared; height: SmallInteger maxVal squared.

"This should not throw an exception:"
bb copyBits.!

Item was changed:
+ ----- Method: BitBltClipBugs>>testFillingWayOutside3 (in category 'tests') -----
- ----- Method: BitBltClipBugs>>testFillingWayOutside3 (in category 'as yet unclassified') -----
testFillingWayOutside3
| f1 bb |
f1 := Form extent: ***@100 depth: 1.
bb := BitBlt toForm: f1.
bb combinationRule: 3.
bb fillColor: Color black.
bb destOrigin: SmallInteger maxVal squared asPoint.
bb width: SmallInteger maxVal squared; height: SmallInteger maxVal squared.

"This should not throw an exception:"
bb copyBits.
!

Item was changed:
+ ----- Method: BitmapStreamTests class>>testSelectors (in category 'accessing') -----
- ----- Method: BitmapStreamTests class>>testSelectors (in category 'Accessing') -----
testSelectors
"The ImageSegment-based Bitmap Test is known to not work on SPUR VMs
with the prospect of crashing. #expectedFailure does not cut it here,
don't even try to run them"
^ super testSelectors copyWithout: #testMatrixTransform2x3WithImageSegment!

Item was changed:
+ ----- Method: BitmapStreamTests>>setUp (in category 'running') -----
- ----- Method: BitmapStreamTests>>setUp (in category 'Running') -----
setUp
random := Random new.!

Item was changed:
+ ----- Method: ChangeSetClassChangesTest>>testAddInstanceVariable (in category 'tests') -----
- ----- Method: ChangeSetClassChangesTest>>testAddInstanceVariable (in category 'testing') -----
testAddInstanceVariable
"Adding an instance variable to the class should result in a change
record being added to the current change set."

| saveClassDefinition |
"Define a class and save its definition"
Object subclass: #JunkClass
instanceVariableNames: 'zzz'
classVariableNames: ''
poolDictionaries: ''
category: 'DeleteMe-1'.
saveClassDefinition := (Smalltalk classNamed: #JunkClass) definition.
self assert: (self
isDefinition: saveClassDefinition
equivalentTo: (ChangeSet current fatDefForClass: (Smalltalk classNamed: #JunkClass))).

"Redefine the class, adding one instance variable"
Object subclass: #JunkClass
instanceVariableNames: 'zzz aaa'
classVariableNames: ''
poolDictionaries: ''
category: 'DeleteMe-1'.

"Assert that the class definition has changed"
self deny: (self
isDefinition: (Smalltalk classNamed: #JunkClass) definition
equivalentTo: saveClassDefinition).
self deny: (self
isDefinition: saveClassDefinition
equivalentTo: (ChangeSet current fatDefForClass: (Smalltalk classNamed: #JunkClass))).
self assert: (self
isDefinition: (Smalltalk classNamed: #JunkClass) definition
equivalentTo: (ChangeSet current fatDefForClass: (Smalltalk classNamed: #JunkClass))).

"Assert that the change has been recorded in the current change set"
self assert: (self
isDefinition: (ChangeSet current changeRecorderFor: (Smalltalk classNamed: #JunkClass))
priorDefinition
equivalentTo: saveClassDefinition).
!

Item was changed:
+ ----- Method: ChangeSetClassChangesTest>>testAddInstanceVariableAddsNewChangeRecord (in category 'tests') -----
- ----- Method: ChangeSetClassChangesTest>>testAddInstanceVariableAddsNewChangeRecord (in category 'testing') -----
testAddInstanceVariableAddsNewChangeRecord
"Changing the class category for a class should result in a change
record being updated in the current change set."

"At the start of this test, JunkClass should not exist, and there should be
no change records pertaining to it in the change set."
self deny: (Smalltalk hasClassNamed: 'JunkClass').
self assert: (ChangeSet current changeRecorderFor: (Smalltalk classNamed: #JunkClass))
thisName = 'nil'.
"Remove bogus change records created as side effect of preceding assert"
ChangeSet current removeClassChanges: 'nil'.
"Define a class and save its definition"
Object subclass: #JunkClass
instanceVariableNames: 'zzz'
classVariableNames: ''
poolDictionaries: ''
category: 'DeleteMe-1'.

"Forget about JunkClass in the change set"
ChangeSet current removeClassChanges: 'JunkClass'.

"Redefine the class, adding one instance variable"
Object subclass: #JunkClass
instanceVariableNames: 'zzz aaa'
classVariableNames: ''
poolDictionaries: ''
category: 'DeleteMe-1'.

"A change record should now exist in the change set"
self assert: (self
isDefinition: (ChangeSet current
changeRecorderFor: (Smalltalk classNamed: #JunkClass)) priorDefinition
equivalentTo:
'Object subclass: #JunkClass
instanceVariableNames: ''zzz ''
classVariableNames: ''''
poolDictionaries: ''''
category: ''DeleteMe-1''')
!

Item was changed:
+ ----- Method: ChangeSetClassChangesTest>>testChangeClassCategory (in category 'tests') -----
- ----- Method: ChangeSetClassChangesTest>>testChangeClassCategory (in category 'testing') -----
testChangeClassCategory
"Changing the class category for a class should result in a change
record being added to the current change set."

| saveClassDefinition |
"Define a class and save its definition"
Object subclass: #JunkClass
instanceVariableNames: 'zzz'
classVariableNames: ''
poolDictionaries: ''
category: 'DeleteMe-1'.
saveClassDefinition := (Smalltalk classNamed: #JunkClass) definition.
self assert: saveClassDefinition =
(ChangeSet current fatDefForClass: (Smalltalk classNamed: #JunkClass)).

"Redefine the class, changing only the class category"
Object subclass: #JunkClass
instanceVariableNames: 'zzz'
classVariableNames: ''
poolDictionaries: ''
category: 'DeleteMe-2'.

"Assert that the class definition has changed"
self deny: (self
isDefinition: (Smalltalk classNamed: #JunkClass) definition
equivalentTo: saveClassDefinition).
self deny: (self
isDefinition: saveClassDefinition
equivalentTo: (ChangeSet current fatDefForClass: (Smalltalk classNamed: #JunkClass))).
self assert: (self
isDefinition: (Smalltalk classNamed: #JunkClass) definition
equivalentTo: (ChangeSet current fatDefForClass: (Smalltalk classNamed: #JunkClass))).

"Assert that the change has been recorded in the current change set"
self assert: (self
isDefinition: (ChangeSet current changeRecorderFor: (Smalltalk classNamed: #JunkClass))
priorDefinition
equivalentTo:
'Object subclass: #JunkClass
instanceVariableNames: ''zzz ''
classVariableNames: ''''
poolDictionaries: ''''
category: ''DeleteMe-2''')!

Item was changed:
+ ----- Method: ChangeSetClassChangesTest>>testChangeClassCategoryAddsNewChangeRecord (in category 'tests') -----
- ----- Method: ChangeSetClassChangesTest>>testChangeClassCategoryAddsNewChangeRecord (in category 'testing') -----
testChangeClassCategoryAddsNewChangeRecord
"Changing the class category for a class should result in a change
record being updated in the current change set."

"At the start of this test, JunkClass should not exist, and there should be
no change records pertaining to it in the change set."
self deny: (Smalltalk hasClassNamed: 'JunkClass').
self assert: (ChangeSet current changeRecorderFor: (Smalltalk classNamed: #JunkClass))
thisName = 'nil'.
"Remove bogus change records created as side effect of preceding assert"
ChangeSet current removeClassChanges: 'nil'.
"Define a class and save its definition"
Object subclass: #JunkClass
instanceVariableNames: 'zzz'
classVariableNames: ''
poolDictionaries: ''
category: 'DeleteMe-1'.

"Forget about JunkClass in the change set"
ChangeSet current removeClassChanges: 'JunkClass'.

"Redefine the class, changing only the class category"
Object subclass: #JunkClass
instanceVariableNames: 'zzz'
classVariableNames: ''
poolDictionaries: ''
category: 'DeleteMe-2'.

"A change record should now exist in the change set"
self assert: (self
isDefinition: (ChangeSet current
changeRecorderFor: (Smalltalk classNamed: #JunkClass)) priorDefinition
equivalentTo:
'Object subclass: #JunkClass
instanceVariableNames: ''zzz ''
classVariableNames: ''''
poolDictionaries: ''''
category: ''DeleteMe-2''')!

Item was changed:
+ ----- Method: ChangeSetClassChangesTest>>testInitialChangeSet (in category 'tests') -----
- ----- Method: ChangeSetClassChangesTest>>testInitialChangeSet (in category 'testing') -----
testInitialChangeSet
"Run this to assure the initial changeset is named. Checks bug found in 3.9 7052."
"self new testInitialChangeSet"
"self run: #testInitialChangeSet"

self deny: (ChangeSet current printString = 'a ChangeSet named <no name -- garbage?>') .

^true!

Item was changed:
+ ----- Method: ClassBindingTest>>setUp (in category 'running') -----
- ----- Method: ClassBindingTest>>setUp (in category 'as yet unclassified') -----
setUp
key := Object new.
value := Object new.!

Item was changed:
+ ----- Method: ClassBindingTest>>testArrowBinding (in category 'tests') -----
- ----- Method: ClassBindingTest>>testArrowBinding (in category 'as yet unclassified') -----
testArrowBinding
| binding |
binding := #Griffle => self class.
self assert: binding class = ClassBinding.
self assert: binding key = #Griffle.
self assert: binding value = self class.
!

Item was changed:
+ ----- Method: ClassBindingTest>>testAsBindingAlias (in category 'tests') -----
- ----- Method: ClassBindingTest>>testAsBindingAlias (in category 'as yet unclassified') -----
testAsBindingAlias
| binding imported |
binding := ClassBinding key: #Griffle value: value.
imported := binding asBinding: #Plonk.
self assert: imported class == Alias!

Item was changed:
+ ----- Method: ClassBindingTest>>testAsBindingOriginal (in category 'tests') -----
- ----- Method: ClassBindingTest>>testAsBindingOriginal (in category 'as yet unclassified') -----
testAsBindingOriginal
| binding imported |
binding := ClassBinding key: #Griffle value: value.
imported := binding asBinding: #Griffle.
self assert: binding == imported!

Item was changed:
+ ----- Method: ClassBindingTest>>testAsBindingRead (in category 'tests') -----
- ----- Method: ClassBindingTest>>testAsBindingRead (in category 'as yet unclassified') -----
testAsBindingRead
| binding imported |
binding := ClassBinding key: #Griffle value: value.
imported := binding asBinding: #Plonk.
self assert: imported key = #Plonk.
self assert: imported value == value.!

Item was changed:
+ ----- Method: ClassBindingTest>>testAsBindingWrite (in category 'tests') -----
- ----- Method: ClassBindingTest>>testAsBindingWrite (in category 'as yet unclassified') -----
testAsBindingWrite
| binding imported |
binding := ClassBinding key: #Griffle value: value.
imported := binding asBinding: #Plonk.
self
should: [imported value: Object new]
raise: AttemptToWriteReadOnlyGlobal
!

Item was changed:
+ ----- Method: ClassBindingTest>>testCanAssign (in category 'tests') -----
- ----- Method: ClassBindingTest>>testCanAssign (in category 'as yet unclassified') -----
testCanAssign
| binding |
binding := ClassBinding key: key value: value.
self deny: binding canAssign!

Item was changed:
+ ----- Method: ClassBindingTest>>testIsSpecialRead (in category 'tests') -----
- ----- Method: ClassBindingTest>>testIsSpecialRead (in category 'as yet unclassified') -----
testIsSpecialRead
| binding |
binding := ClassBinding key: key value: value.
self deny: binding isSpecialReadBinding!

Item was changed:
+ ----- Method: ClassBindingTest>>testIsSpecialWrite (in category 'tests') -----
- ----- Method: ClassBindingTest>>testIsSpecialWrite (in category 'as yet unclassified') -----
testIsSpecialWrite
| binding |
binding := ClassBinding key: key value: value.
self assert: binding isSpecialWriteBinding!

Item was changed:
+ ----- Method: ClassBindingTest>>testLiteralEqual (in category 'tests') -----
- ----- Method: ClassBindingTest>>testLiteralEqual (in category 'as yet unclassified') -----
testLiteralEqual
| b1 b2 |
b1 := #Griffle => self class.
b2 := #Plonk => self class.
self assert: (b1 literalEqual: b2)!

Item was changed:
+ ----- Method: ClassBindingTest>>testLiteralUnequal (in category 'tests') -----
- ----- Method: ClassBindingTest>>testLiteralUnequal (in category 'as yet unclassified') -----
testLiteralUnequal
| b1 b2 |
b1 := #Griffle => self class.
b2 := #Griffle => self class superclass.
self deny: (b1 literalEqual: b2)!

Item was changed:
+ ----- Method: ClassBindingTest>>testRead (in category 'tests') -----
- ----- Method: ClassBindingTest>>testRead (in category 'as yet unclassified') -----
testRead
| binding |
binding := ClassBinding key: key value: value.
self assert: binding key == key.
self assert: binding value == value!

Item was changed:
+ ----- Method: ClassBindingTest>>testResumeExceptionToWrite (in category 'tests') -----
- ----- Method: ClassBindingTest>>testResumeExceptionToWrite (in category 'as yet unclassified') -----
testResumeExceptionToWrite
| binding |
binding := ClassBinding key: key value: Object new.
[binding value: value]
on: AttemptToWriteReadOnlyGlobal
do: [:ex | ex resume: true].
self assert: binding value == value!

Item was changed:
+ ----- Method: ClassBindingTest>>testSource (in category 'tests') -----
- ----- Method: ClassBindingTest>>testSource (in category 'as yet unclassified') -----
testSource
| binding |
binding := ClassBinding key: #Griffle value: value.
self assert: binding source == binding!

Item was changed:
+ ----- Method: ClassBindingTest>>testWriteRaisesException (in category 'tests') -----
- ----- Method: ClassBindingTest>>testWriteRaisesException (in category 'as yet unclassified') -----
testWriteRaisesException
| binding |
binding := ClassBinding key: key value: value.
self
should: [binding value: Object new]
raise: AttemptToWriteReadOnlyGlobal.!

Item was changed:
+ ----- Method: ClassRenameFixTest>>newUniqueClassName (in category 'private') -----
- ----- Method: ClassRenameFixTest>>newUniqueClassName (in category 'Private') -----
newUniqueClassName
"Return a class name that is not used in the system."

"self new newClassName"

| baseName newName |
baseName := 'AutoGeneratedClassForTestingSystemChanges'.
1 to: 9999
do:
[:number |
newName := baseName , number printString.
(Smalltalk hasClassNamed: newName) ifFalse: [^newName asSymbol]].
^self
error: 'Can no longer find a new and unique class name for the SystemChangeTest !!'!

Item was changed:
+ ----- Method: ClassRenameFixTest>>removeEverythingInSetFromSystem: (in category 'private') -----
- ----- Method: ClassRenameFixTest>>removeEverythingInSetFromSystem: (in category 'Private') -----
removeEverythingInSetFromSystem: aChangeSet

aChangeSet changedMessageList
do: [:methodRef | methodRef actualClass removeSelector: methodRef methodSymbol].
aChangeSet changedClasses
do: [:each | each isMeta
ifFalse: [each removeFromSystemUnlogged]]!

Item was changed:
+ ----- Method: ClassRenameFixTest>>renameClassUsing: (in category 'tests') -----
- ----- Method: ClassRenameFixTest>>renameClassUsing: (in category 'Tests') -----
renameClassUsing: aBlock

| createdClass foundClasses |
originalName := self newUniqueClassName.
createdClass := Object
subclass: originalName
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'ClassRenameFix-GeneradClass'.
newClassName := self newUniqueClassName.
aBlock value: createdClass value: newClassName.
self assert: (Smalltalk classNamed: originalName) isNil.
self assert: (Smalltalk classNamed: newClassName) notNil.
foundClasses := Smalltalk organization listAtCategoryNamed: 'ClassRenameFix-GeneradClass'.
self assert: (foundClasses notEmpty).
self assert: (foundClasses includes: newClassName).
self assert: (createdClass name = newClassName).!

Item was changed:
+ ----- Method: ClassRenameFixTest>>setUp (in category 'running') -----
- ----- Method: ClassRenameFixTest>>setUp (in category 'Running') -----
setUp

previousChangeSet := ChangeSet current.
testsChangeSet := ChangeSet new.
ChangeSet newChanges: testsChangeSet.
SystemChangeNotifier uniqueInstance
notify: self
ofSystemChangesOfItem: #class
change: #Renamed
using: #verifyRenameEvent:.
super setUp!

Item was changed:
+ ----- Method: ClassRenameFixTest>>tearDown (in category 'running') -----
- ----- Method: ClassRenameFixTest>>tearDown (in category 'Running') -----
tearDown

self removeEverythingInSetFromSystem: testsChangeSet.
ChangeSet newChanges: previousChangeSet.
ChangesOrganizer removeChangeSet: testsChangeSet.
previousChangeSet := nil.
testsChangeSet := nil.
SystemChangeNotifier uniqueInstance noMoreNotificationsFor: self.
super tearDown.!

Item was changed:
+ ----- Method: ClassRenameFixTest>>testRenameClassUsingClass (in category 'tests') -----
- ----- Method: ClassRenameFixTest>>testRenameClassUsingClass (in category 'Tests') -----
testRenameClassUsingClass
"self run: #testRenameClassUsingClass"

self renameClassUsing: [:class :newName | class rename: newName].!

Item was changed:
+ ----- Method: ClassRenameFixTest>>verifyRenameEvent: (in category 'private') -----
- ----- Method: ClassRenameFixTest>>verifyRenameEvent: (in category 'Running') -----
verifyRenameEvent: aRenamedEvent

| renamedClass |
self assert: aRenamedEvent isRenamed.
renamedClass := aRenamedEvent item.
self assert: (Smalltalk classNamed: newClassName) name = newClassName.
self assert: renamedClass name = newClassName!

Item was changed:
+ ----- Method: ClipboardTest>>setUp (in category 'running') -----
- ----- Method: ClipboardTest>>setUp (in category 'as yet unclassified') -----
setUp
"Store the contents of the default clipboard. This is necessary, because all Clipboard instances modify the contents of the system clipboard."

originalClipboardText := Clipboard default clipboardText!

Item was changed:
+ ----- Method: ClipboardTest>>tearDown (in category 'running') -----
- ----- Method: ClipboardTest>>tearDown (in category 'as yet unclassified') -----
tearDown
"Restore the contents of the default clipboard. This is necessary, because all Clipboard instances modify the contents of the system clipboard."

Clipboard default clipboardText: originalClipboardText!

Item was changed:
+ ----- Method: ClipboardTest>>testClipboardText (in category 'tests') -----
- ----- Method: ClipboardTest>>testClipboardText (in category 'as yet unclassified') -----
testClipboardText

| uuidString clipboard |
uuidString := UUID new asString36.
clipboard := Clipboard new.
clipboard clipboardText: uuidString.
self assert: uuidString equals: clipboard clipboardText asString!

Item was changed:
+ ----- Method: ClipboardTest>>testClipboardTextNotifyWith (in category 'tests') -----
- ----- Method: ClipboardTest>>testClipboardTextNotifyWith (in category 'as yet unclassified') -----
testClipboardTextNotifyWith

| uuidString clipboard subscriber notifiedText notifiedSource |
uuidString := UUID new asString36.
clipboard := Clipboard new.
subscriber := [ :text :source |
notifiedText := text.
notifiedSource := source ].
clipboard
when: #contentChanged
send: #value:value:
to: subscriber.
clipboard clipboardText: uuidString.
self
assert: uuidString equals: notifiedText;
assert: nil equals: notifiedSource.
clipboard clipboardText: uuidString reversed notifyWith: self.
self
assert: uuidString reversed equals: notifiedText;
assert: self == notifiedSource.
clipboard removeActionsWithReceiver: subscriber.
clipboard clipboardText: uuidString.
self
assert: uuidString reversed equals: notifiedText;
assert: self == notifiedSource!

Item was changed:
+ ----- Method: EqualityTester>>resultFor: (in category 'running') -----
- ----- Method: EqualityTester>>resultFor: (in category 'as yet unclassified') -----
resultFor: runs
"Test that equality is the same over runs and answer the result"
1
to: runs
do: [:i | self prototype = self prototype
ifFalse: [^ false]].
^ true!

Item was changed:
+ ----- Method: EventManagerTest>>testBlockReceiverNoArgs (in category 'tests-dependent action') -----
- ----- Method: EventManagerTest>>testBlockReceiverNoArgs (in category 'running-dependent action') -----
testBlockReceiverNoArgs
eventSource when: #anEvent evaluate:[self heardEvent].
eventSource triggerEvent: #anEvent.
self should: [succeeded]!

Item was changed:
+ ----- Method: EventManagerTest>>testBlockReceiverOneArg (in category 'tests-dependent action') -----
- ----- Method: EventManagerTest>>testBlockReceiverOneArg (in category 'running-dependent action') -----
testBlockReceiverOneArg
eventSource when: #anEvent: evaluate:[:arg1| eventListener add: arg1].
eventSource triggerEvent: #anEvent: with: 9.
self should: [eventListener includes: 9]!

Item was changed:
+ ----- Method: EventManagerTest>>testBlockReceiverTwoArgs (in category 'tests-dependent action') -----
- ----- Method: EventManagerTest>>testBlockReceiverTwoArgs (in category 'running-dependent action') -----
testBlockReceiverTwoArgs
eventSource when: #anEvent:info: evaluate:[:arg1 :arg2| self addArg1: arg1 addArg2: arg2].
eventSource triggerEvent: #anEvent:info: withArguments: #( 9 42 ).
self should: [(eventListener includes: 9) and: [eventListener includes: 42]]!

Item was changed:
+ ----- Method: EventManagerTest>>testCopy (in category 'tests-copying') -----
- ----- Method: EventManagerTest>>testCopy (in category 'running-copying') -----
testCopy
"Ensure that the actionMap is zapped when
you make a copy of anEventManager"

eventSource when: #blah send: #yourself to: eventListener.
self assert: eventSource actionMap keys isEmpty not.
self assert: eventSource copy actionMap keys isEmpty!

Item was changed:
+ ----- Method: EventManagerTest>>testMultipleValueSuppliers (in category 'tests-broadcast query') -----
- ----- Method: EventManagerTest>>testMultipleValueSuppliers (in category 'running-broadcast query') -----
testMultipleValueSuppliers

eventSource
when: #needsValue
send: #getFalse
to: self.
eventSource
when: #needsValue
send: #getTrue
to: self.
succeeded := eventSource triggerEvent: #needsValue.
self should: [succeeded]!

Item was changed:
+ ----- Method: EventManagerTest>>testMultipleValueSuppliersEventHasArguments (in category 'tests-broadcast query') -----
- ----- Method: EventManagerTest>>testMultipleValueSuppliersEventHasArguments (in category 'running-broadcast query') -----
testMultipleValueSuppliersEventHasArguments

eventSource
when: #needsValue:
send: #getFalse:
to: self.
eventSource
when: #needsValue:
send: #getTrue:
to: self.
succeeded := eventSource triggerEvent: #needsValue: with: 'kolme'.
self should: [succeeded]!

Item was changed:
+ ----- Method: EventManagerTest>>testNoArgumentEvent (in category 'tests-dependent action') -----
- ----- Method: EventManagerTest>>testNoArgumentEvent (in category 'running-dependent action') -----
testNoArgumentEvent

eventSource when: #anEvent send: #heardEvent to: self.
eventSource triggerEvent: #anEvent.
self should: [succeeded]!

Item was changed:
+ ----- Method: EventManagerTest>>testNoArgumentEventDependentSuppliedArgument (in category 'tests-dependent action supplied arguments') -----
- ----- Method: EventManagerTest>>testNoArgumentEventDependentSuppliedArgument (in category 'running-dependent action supplied arguments') -----
testNoArgumentEventDependentSuppliedArgument

eventSource when: #anEvent send: #add: to: eventListener with: 'boundValue'.
eventSource triggerEvent: #anEvent.
self should: [eventListener includes: 'boundValue']!

Item was changed:
+ ----- Method: EventManagerTest>>testNoArgumentEventDependentSuppliedArguments (in category 'tests-dependent action supplied arguments') -----
- ----- Method: EventManagerTest>>testNoArgumentEventDependentSuppliedArguments (in category 'running-dependent action supplied arguments') -----
testNoArgumentEventDependentSuppliedArguments

eventSource
when: #anEvent
send: #addArg1:addArg2:
to: self
withArguments: #('hello' 'world').
eventSource triggerEvent: #anEvent.
self should: [(eventListener includes: 'hello') and: [eventListener includes: 'world']]!

Item was changed:
+ ----- Method: EventManagerTest>>testNoValueSupplier (in category 'tests-broadcast query') -----
- ----- Method: EventManagerTest>>testNoValueSupplier (in category 'running-broadcast query') -----
testNoValueSupplier

succeeded := eventSource
triggerEvent: #needsValue
ifNotHandled: [true].
self should: [succeeded]!

Item was changed:
+ ----- Method: EventManagerTest>>testNoValueSupplierHasArguments (in category 'tests-broadcast query') -----
- ----- Method: EventManagerTest>>testNoValueSupplierHasArguments (in category 'running-broadcast query') -----
testNoValueSupplierHasArguments

succeeded := eventSource
triggerEvent: #needsValue:
with: 'nelja'
ifNotHandled: [true].
self should: [succeeded]!

Item was changed:
+ ----- Method: EventManagerTest>>testOneArgumentEvent (in category 'tests-dependent action') -----
- ----- Method: EventManagerTest>>testOneArgumentEvent (in category 'running-dependent action') -----
testOneArgumentEvent

eventSource when: #anEvent: send: #add: to: eventListener.
eventSource triggerEvent: #anEvent: with: 9.
self should: [eventListener includes: 9]!

Item was changed:
+ ----- Method: EventManagerTest>>testRemoveActionsForEvent (in category 'tests-remove actions') -----
- ----- Method: EventManagerTest>>testRemoveActionsForEvent (in category 'running-remove actions') -----
testRemoveActionsForEvent

eventSource
when: #anEvent send: #size to: eventListener;
when: #anEvent send: #getTrue to: self;
when: #anEvent: send: #fizzbin to: self.
eventSource removeActionsForEvent: #anEvent.
self shouldnt: [eventSource hasActionForEvent: #anEvent]!

Item was changed:
+ ----- Method: EventManagerTest>>testRemoveActionsTwiceForEvent (in category 'tests-remove actions') -----
- ----- Method: EventManagerTest>>testRemoveActionsTwiceForEvent (in category 'running-remove actions') -----
testRemoveActionsTwiceForEvent

eventSource
when: #anEvent send: #size to: eventListener;
when: #anEvent send: #getTrue to: self;
when: #anEvent: send: #fizzbin to: self.
eventSource removeActionsForEvent: #anEvent.
self assert: (eventSource hasActionForEvent: #anEvent) not.
eventSource removeActionsForEvent: #anEvent.
self assert: (eventSource hasActionForEvent: #anEvent) not.!

Item was changed:
+ ----- Method: EventManagerTest>>testRemoveActionsWithReceiver (in category 'tests-remove actions') -----
- ----- Method: EventManagerTest>>testRemoveActionsWithReceiver (in category 'running-remove actions') -----
testRemoveActionsWithReceiver

| action |
eventSource
when: #anEvent send: #size to: eventListener;
when: #anEvent send: #getTrue to: self;
when: #anEvent: send: #fizzbin to: self.
eventSource removeActionsWithReceiver: self.
action := eventSource actionForEvent: #anEvent.
self assert: (action respondsTo: #receiver).
self assert: ((action receiver == self) not)!

Item was changed:
+ ----- Method: EventManagerTest>>testReturnValueWithManyListeners (in category 'tests-dependent value') -----
- ----- Method: EventManagerTest>>testReturnValueWithManyListeners (in category 'running-dependent value') -----
testReturnValueWithManyListeners

| value newListener |
newListener := 'busybody'.
eventSource
when: #needsValue
send: #yourself
to: eventListener.
eventSource
when: #needsValue
send: #yourself
to: newListener.
value := eventSource triggerEvent: #needsValue.
self should: [value == newListener]!

Item was changed:
+ ----- Method: EventManagerTest>>testReturnValueWithNoListeners (in category 'tests-dependent value') -----
- ----- Method: EventManagerTest>>testReturnValueWithNoListeners (in category 'running-dependent value') -----
testReturnValueWithNoListeners

| value |
value := eventSource triggerEvent: #needsValue.
self should: [value == nil]!

Item was changed:
+ ----- Method: EventManagerTest>>testReturnValueWithOneListener (in category 'tests-dependent value') -----
- ----- Method: EventManagerTest>>testReturnValueWithOneListener (in category 'running-dependent value') -----
testReturnValueWithOneListener

| value |
eventSource
when: #needsValue
send: #yourself
to: eventListener.
value := eventSource triggerEvent: #needsValue.
self should: [value == eventListener]!

Item was changed:
+ ----- Method: EventManagerTest>>testSingleValueSupplier (in category 'tests-broadcast query') -----
- ----- Method: EventManagerTest>>testSingleValueSupplier (in category 'running-broadcast query') -----
testSingleValueSupplier

eventSource
when: #needsValue
send: #getTrue
to: self.
succeeded := eventSource triggerEvent: #needsValue.
self should: [succeeded]!

Item was changed:
+ ----- Method: EventManagerTest>>testTwoArgumentEvent (in category 'tests-dependent action') -----
- ----- Method: EventManagerTest>>testTwoArgumentEvent (in category 'running-dependent action') -----
testTwoArgumentEvent

eventSource when: #anEvent:info: send: #addArg1:addArg2: to: self.
eventSource triggerEvent: #anEvent:info: withArguments: #( 9 42 ).
self should: [(eventListener includes: 9) and: [eventListener includes: 42]]!

Item was changed:
+ ----- Method: FakeObjectOut>>doesNotUnderstand: (in category 'error handling') -----
- ----- Method: FakeObjectOut>>doesNotUnderstand: (in category 'as yet unclassified') -----
doesNotUnderstand: aMessage
^ aMessage sendTo: self class !

Item was changed:
+ ----- Method: FakeObjectOut>>isInMemory (in category 'testing') -----
- ----- Method: FakeObjectOut>>isInMemory (in category 'as yet unclassified') -----
isInMemory
^ false.!

Item was changed:
+ ----- Method: HandBugs>>testTargetPoint (in category 'tests') -----
- ----- Method: HandBugs>>testTargetPoint (in category 'as yet unclassified') -----
testTargetPoint
"self new testTargetPoint"
"self run: #testTargetPoint"

"This should not throw an exception."
ActiveHand targetPoint

!

Item was changed:
+ ----- Method: HashAndEqualsTestCase>>setUp (in category 'running') -----
- ----- Method: HashAndEqualsTestCase>>setUp (in category 'as yet unclassified') -----
setUp
"subclasses will add their prototypes into this collection"
prototypes := OrderedCollection new !

Item was changed:
+ ----- Method: HashAndEqualsTestCase>>testEquality (in category 'tests') -----
- ----- Method: HashAndEqualsTestCase>>testEquality (in category 'as yet unclassified') -----
testEquality
"Check that TextFontChanges report equality correctly"
prototypes
do: [:p | self
should: [(EqualityTester with: p) result]] !

Item was changed:
+ ----- Method: HashAndEqualsTestCase>>testHash (in category 'tests') -----
- ----- Method: HashAndEqualsTestCase>>testHash (in category 'as yet unclassified') -----
testHash
"test that TextFontChanges hash correctly"
prototypes
do: [:p | self
should: [(HashTester with: p) result]] !

Item was changed:
+ ----- Method: HashTester>>resultFor: (in category 'running') -----
- ----- Method: HashTester>>resultFor: (in category 'as yet unclassified') -----
resultFor: runs
"Test that the hash is the same over runs and answer the result"
| hash |
hash := self prototype hash.
1
to: runs
do: [:i | hash = self prototype hash
ifFalse: [^ false]].
^ true !

Item was changed:
+ ----- Method: HashTesterTest>>testBasicBehaviour (in category 'tests') -----
- ----- Method: HashTesterTest>>testBasicBehaviour (in category 'as yet unclassified') -----
testBasicBehaviour
self
should: [(HashTester with: 1)
resultFor: 100].
self
should: [(HashTester with: 'fred')
resultFor: 100].
self
shouldnt: [(HashTester with: BadHasher new)
resultFor: 100] !

Item was changed:
+ ----- Method: HexTest>>testCharacterHex (in category 'tests') -----
- ----- Method: HexTest>>testCharacterHex (in category 'as yet unclassified') -----
testCharacterHex
| result |
result := $a hex.
self assert: result = '61'.
result := $A hex.
self assert: result = '41'.


!

Item was changed:
+ ----- Method: HexTest>>testColorPrintHtmlString (in category 'tests') -----
- ----- Method: HexTest>>testColorPrintHtmlString (in category 'as yet unclassified') -----
testColorPrintHtmlString
self assert: (Color red printHtmlString ) = ( Color red asHTMLColor allButFirst asUppercase).

!

Item was changed:
+ ----- Method: HexTest>>testIntegerHex (in category 'tests') -----
- ----- Method: HexTest>>testIntegerHex (in category 'as yet unclassified') -----
testIntegerHex
| result |
result := 15 asInteger hex.
self assert: result = '16rF'.
result := 0 asInteger hex.
self assert: result = '16r0'.
result := 255 asInteger hex.
self assert: result = '16rFF'.
result := 90 asInteger hex.
self assert: result = '16r5A'!

Item was changed:
+ ----- Method: HexTest>>testStringAsHex (in category 'tests') -----
- ----- Method: HexTest>>testStringAsHex (in category 'as yet unclassified') -----
testStringAsHex
| result |
result := 'abc' asHex.
self assert: result = '616263'.


!

Item was changed:
+ ----- Method: ImageSegmentTest>>testContextsShouldBeWritableToaFile (in category 'tests') -----
- ----- Method: ImageSegmentTest>>testContextsShouldBeWritableToaFile (in category 'testing') -----
testContextsShouldBeWritableToaFile
"This should not throw an exception"
NativeImageSegment new
copyFromRoots: {thisContext. thisContext copyStack} sizeHint: 100;
extract;
writeToFile: 'ContextChain';
yourself

"TODO: write assertions showing that something meaningful actually happened."

"TODO: bring them back in again"!

Item was changed:
+ ----- Method: ImageSegmentTest>>testImageSegmentsShouldBeWritableToaFile (in category 'tests') -----
- ----- Method: ImageSegmentTest>>testImageSegmentsShouldBeWritableToaFile (in category 'testing') -----
testImageSegmentsShouldBeWritableToaFile
"This should not throw an exception"
| classes |
classes := UIManager subclasses reject: [:sc| sc isActiveManager].
NativeImageSegment new
copyFromRoots: classes asArray sizeHint: 100;
extract;
writeToFile: 'InactiveUIManagers';
yourself.

"TODO: write assertions showing that something meaningful actually happened."

"now bring them back in again"
classes do: [:ea| ea new]!

Item was changed:
+ ----- Method: InstallerUrlTest>>testAddPackageShouldResultInCorrectUrl (in category 'tests') -----
- ----- Method: InstallerUrlTest>>testAddPackageShouldResultInCorrectUrl (in category 'as yet unclassified') -----
testAddPackageShouldResultInCorrectUrl
| url |
url := (Installer url: 'http://seaside.gemstone.com/ss/metacello')
addPackage: 'ConfigurationOfMetacello-dkh.754.mcz';
urlToDownload.
"Note the insertion of a / in the URL."
self
assert: 'http://seaside.gemstone.com/ss/metacello/ConfigurationOfMetacello-dkh.754.mcz'
equals: url.!

Item was changed:
+ ----- Method: LangEnvBugs>>defaultTimeout (in category 'accessing') -----
- ----- Method: LangEnvBugs>>defaultTimeout (in category 'as yet unclassified') -----
defaultTimeout

^ super defaultTimeout * 10 "seconds"!

Item was changed:
+ ----- Method: LangEnvBugs>>tearDown (in category 'running') -----
- ----- Method: LangEnvBugs>>tearDown (in category 'as yet unclassified') -----
tearDown

[Preferences restoreDefaultFonts] valueSupplyingAnswers: #(('Sorry, could not revert font choices' #default))!

Item was changed:
+ ----- Method: LangEnvBugs>>testIsFontAvailable (in category 'tests') -----
- ----- Method: LangEnvBugs>>testIsFontAvailable (in category 'as yet unclassified') -----
testIsFontAvailable
"self new testIsFontAvailable"
"self run: #testIsFontAvailable"
| oldPref |
oldPref := Preferences valueOfPreference: #tinyDisplay.
Preferences restoreFontsAfter: [
[Preferences enable: #tinyDisplay.
"This should not throw an exception."
(LanguageEnvironment localeID: (LocaleID isoLanguage: 'en')) isFontAvailable]
ensure: [Preferences setPreference: #tinyDisplay toValue: oldPref]].!

Item was changed:
+ ----- Method: LocaleTest>>setUp (in category 'running') -----
- ----- Method: LocaleTest>>setUp (in category 'testing') -----
setUp

previousID := Locale current localeID.
previousKeyboardInterpreter := ActiveHand instVarNamed: 'keyboardInterpreter'.
previousClipboardInterpreter := Clipboard default instVarNamed: 'interpreter'.
ActiveHand clearKeyboardInterpreter.
Clipboard default clearInterpreter.
!

Item was changed:
+ ----- Method: LocaleTest>>tearDown (in category 'running') -----
- ----- Method: LocaleTest>>tearDown (in category 'testing') -----
tearDown

ActiveHand instVarNamed: 'keyboardInterpreter' put: previousKeyboardInterpreter.
Clipboard default instVarNamed: 'interpreter' put: previousClipboardInterpreter.
Locale switchToID: (LocaleID isoLanguage: previousID).!

Item was changed:
+ ----- Method: LocaleTest>>testEncodingName (in category 'tests') -----
- ----- Method: LocaleTest>>testEncodingName (in category 'testing') -----
testEncodingName
"self debug: #testEncodingName"
| locale |
locale := Locale isoLanguage: 'ja'.
self assert: locale languageEnvironment fontEncodingName = #FontJapaneseEnvironment!

Item was changed:
+ ----- Method: LocaleTest>>testIsFontAvailable (in category 'tests') -----
- ----- Method: LocaleTest>>testIsFontAvailable (in category 'testing') -----
testIsFontAvailable
"self debug: #testIsFontAvailable"

<timeout: 60> "takes quite a while"
self ensureInternetConnectionTo: 'http://metatoys.org/pub/'.

Preferences restoreFontsAfter: [
| currentDefaultTextStyle |
currentDefaultTextStyle := TextStyle default.
[
TextStyle setDefault: (TextStyle actualTextStyles at: #Accuny).
(Locale isoLanguage: 'ja') languageEnvironment removeFonts.
self assert: (Locale isoLanguage: 'en') languageEnvironment isFontAvailable.
"Next test should fail after installing Japanese font"
self assert: (Locale isoLanguage: 'ja') languageEnvironment isFontAvailable not.
(Locale isoLanguage: 'ja') languageEnvironment installFont.
self assert: (Locale isoLanguage: 'ja') languageEnvironment isFontAvailable ]
ensure: [ TextStyle setDefault: currentDefaultTextStyle.
FileDirectory default deleteFileNamed: (Locale isoLanguage: 'ja') languageEnvironment fontFullName. ] ].!

Item was changed:
+ ----- Method: LocaleTest>>testLocaleChanged (in category 'tests') -----
- ----- Method: LocaleTest>>testLocaleChanged (in category 'testing') -----
testLocaleChanged
"self debug: #testLocaleChanged"
"LanguageEnvironment >> startUp is called from Prject >> localeChanged"
<timeout: 60> "takes quite a while"
Project current updateLocaleDependents.
self assert: (ActiveHand instVarNamed: 'keyboardInterpreter') isNil description: 'non-nil keyboardInterpreter'.
self assert: (Clipboard default instVarNamed: 'interpreter') isNil description: 'non-nil interpreter'.
Locale switchToID: (LocaleID isoLanguage: 'ja').
self assert: 'ja' equals: Locale current localeID isoLanguage.
Locale switchToID: (LocaleID isoLanguage: 'en').
self assert: 'en' equals: Locale current localeID isoLanguage.!

Item was changed:
+ ----- Method: MCDirtyPackageInfo>>classes (in category 'listing') -----
- ----- Method: MCDirtyPackageInfo>>classes (in category 'as yet unclassified') -----
classes
^ Array new: 0.!

Item was changed:
+ ----- Method: MCDirtyPackageInfo>>methods (in category 'listing') -----
- ----- Method: MCDirtyPackageInfo>>methods (in category 'as yet unclassified') -----
methods
^ MCMockClassA selectors
select: [:ea | ea beginsWith: 'ordinal']
thenCollect:
[:ea |
MethodReference
class: MCMockClassA
selector: ea].!

Item was changed:
+ ----- Method: MCDirtyPackageInfo>>packageName (in category 'naming') -----
- ----- Method: MCDirtyPackageInfo>>packageName (in category 'as yet unclassified') -----
packageName
^ 'MCDirtyPackage'!

Item was changed:
+ ----- Method: MCEmptyPackageInfo>>classes (in category 'listing') -----
- ----- Method: MCEmptyPackageInfo>>classes (in category 'as yet unclassified') -----
classes
^ #()!

Item was changed:
+ ----- Method: MCEmptyPackageInfo>>methods (in category 'listing') -----
- ----- Method: MCEmptyPackageInfo>>methods (in category 'as yet unclassified') -----
methods
^ #()!

Item was changed:
+ ----- Method: MCEmptyPackageInfo>>packageName (in category 'naming') -----
- ----- Method: MCEmptyPackageInfo>>packageName (in category 'as yet unclassified') -----
packageName
^ 'MCEmptyPackage'!

Item was changed:
+ ----- Method: MCMockClassA>>d (in category 'numeric') -----
- ----- Method: MCMockClassA>>d (in category 'as yet classified') -----
d
^ 'd'!

Item was changed:
+ ----- Method: MCMockDefinition>>= (in category 'comparing') -----
- ----- Method: MCMockDefinition>>= (in category 'as yet unclassified') -----
= definition
^definition token = token!

Item was changed:
+ ----- Method: MCMockDefinition>>asString (in category 'converting') -----
- ----- Method: MCMockDefinition>>asString (in category 'as yet unclassified') -----
asString

^ token!

Item was changed:
+ ----- Method: MCMockDefinition>>description (in category 'comparing') -----
- ----- Method: MCMockDefinition>>description (in category 'as yet unclassified') -----
description

^ token first!

Item was changed:
+ ----- Method: MCMockDefinition>>hash (in category 'comparing') -----
- ----- Method: MCMockDefinition>>hash (in category 'as yet unclassified') -----
hash

^ token hash!

Item was changed:
+ ----- Method: MCMockDefinition>>printString (in category 'printing') -----
- ----- Method: MCMockDefinition>>printString (in category 'as yet unclassified') -----
printString

^ token!

Item was changed:
+ ----- Method: MCMockDefinition>>summary (in category 'printing') -----
- ----- Method: MCMockDefinition>>summary (in category 'as yet unclassified') -----
summary

^ token!

Item was changed:
+ ----- Method: MCMockDefinition>>token (in category 'accessing') -----
- ----- Method: MCMockDefinition>>token (in category 'as yet unclassified') -----
token

^ token!

Item was changed:
+ ----- Method: MCMockDefinition>>token: (in category 'accessing') -----
- ----- Method: MCMockDefinition>>token: (in category 'as yet unclassified') -----
token: aString

token := aString!

Item was changed:
+ ----- Method: MCMockPackageInfo>>classNames (in category 'constants') -----
- ----- Method: MCMockPackageInfo>>classNames (in category 'as yet unclassified') -----
classNames
^ #( MCMockClassA
MCMockASubclass
MCMockClassB
MCMockClassD
MCMockClassE
MCMockClassF
MCMockClassG
MCMockClassH
MCMockClassI
)!

Item was changed:
+ ----- Method: MCMockPackageInfo>>classes (in category 'listing') -----
- ----- Method: MCMockPackageInfo>>classes (in category 'as yet unclassified') -----
classes
^ self classNames
select: [:name | Smalltalk hasClassNamed: name]
thenCollect: [:name | Smalltalk at: name]!

Item was changed:
+ ----- Method: MCMockPackageInfo>>extensionMethods (in category 'listing') -----
- ----- Method: MCMockPackageInfo>>extensionMethods (in category 'as yet unclassified') -----
extensionMethods
^ Array with: (MethodReference
class: MCSnapshotTest
selector: #mockClassExtension)!

Item was changed:
+ ----- Method: MCMockPackageInfo>>includesClass: (in category 'testing') -----
- ----- Method: MCMockPackageInfo>>includesClass: (in category 'as yet unclassified') -----
includesClass: aClass
^self classes includes: aClass!

Item was changed:
+ ----- Method: MCMockPackageInfo>>includesSystemCategory: (in category 'testing') -----
- ----- Method: MCMockPackageInfo>>includesSystemCategory: (in category 'as yet unclassified') -----
includesSystemCategory: categoryName
^self systemCategories anySatisfy: [:cat | cat sameAs: categoryName]!

Item was changed:
+ ----- Method: MCMockPackageInfo>>packageName (in category 'naming') -----
- ----- Method: MCMockPackageInfo>>packageName (in category 'as yet unclassified') -----
packageName
^ 'MonticelloMocks'!

Item was changed:
+ ----- Method: MCMockPackageInfo>>systemCategories (in category 'listing') -----
- ----- Method: MCMockPackageInfo>>systemCategories (in category 'as yet unclassified') -----
systemCategories
^ Array with: 'Tests-MonticelloMocks'!

Item was changed:
+ ----- Method: MCTestCase>>performTest (in category 'private') -----
- ----- Method: MCTestCase>>performTest (in category 'as yet unclassified') -----
performTest

Utilities
useAuthorInitials: self className
during: [ super performTest ]!

Item was changed:
+ ----- Method: MethodReferenceTest>>testEquals (in category 'tests') -----
- ----- Method: MethodReferenceTest>>testEquals (in category 'Running') -----
testEquals
| aMethodReference anotherMethodReference |
aMethodReference := MethodReference new.
anotherMethodReference := MethodReference new.
"Two fresh instances should be equals between them"
self assert: MethodReference new equals: MethodReference new.
self assert: MethodReference new hash equals: MethodReference new hash.

"Two instances representing the same method (same class and
same selector) should be equals"
self assert: (MethodReference class: String selector: #foo) equals: (MethodReference class: String selector: #foo).
self assert: (MethodReference class: String selector: #foo) hash equals: (MethodReference class: String selector: #foo) hash.!

Item was changed:
+ ----- Method: MethodReferenceTest>>testNotEquals (in category 'tests') -----
- ----- Method: MethodReferenceTest>>testNotEquals (in category 'Running') -----
testNotEquals
self
deny: (MethodReference class: String selector: #foo) = (MethodReference class: String class selector: #foo)
description: 'Different classes, same selector -> no more equals'.
self
deny: (MethodReference class: String selector: #foo) = (MethodReference class: String selector: #bar)
description: 'Same class, different selectors -> no more equals'.!

Item was changed:
+ ----- Method: NamePolicyTest class>>isAbstract (in category 'testing') -----
- ----- Method: NamePolicyTest class>>isAbstract (in category 'as yet unclassified') -----
isAbstract
^ self name = #NamePolicyTest!

Item was changed:
+ ----- Method: ObjectsAsMethodsExample>>add:with: (in category 'example methods') -----
- ----- Method: ObjectsAsMethodsExample>>add:with: (in category 'as yet unclassified') -----
add: a with: b
^a + b!

Item was changed:
+ ----- Method: ObjectsAsMethodsExample>>answer42 (in category 'example methods') -----
- ----- Method: ObjectsAsMethodsExample>>answer42 (in category 'as yet unclassified') -----
answer42
^42!

Item was changed:
+ ----- Method: ObjectsAsMethodsExample>>run:with:in: (in category 'example methods') -----
- ----- Method: ObjectsAsMethodsExample>>run:with:in: (in category 'as yet unclassified') -----
run: oldSelector with: arguments in: aReceiver
^self perform: oldSelector withArguments: arguments!

Item was changed:
+ ----- Method: PCCByCompilationTest class>>isAbstract (in category 'testing') -----
- ----- Method: PCCByCompilationTest class>>isAbstract (in category 'Testing') -----
isAbstract
^ false!

Item was changed:
+ ----- Method: PCCByLiteralsTest class>>isAbstract (in category 'testing') -----
- ----- Method: PCCByLiteralsTest class>>isAbstract (in category 'Testing') -----
isAbstract
^ false!

Item was changed:
+ ----- Method: PrimCallControllerAbstractTest class>>isAbstract (in category 'testing') -----
- ----- Method: PrimCallControllerAbstractTest class>>isAbstract (in category 'Testing') -----
isAbstract
^ true!

Item was changed:
+ ----- Method: PrimCallControllerAbstractTest>>setUp (in category 'running') -----
- ----- Method: PrimCallControllerAbstractTest>>setUp (in category 'tests') -----
setUp
super setUp.
pcc := self classToBeTested new.
"set failed call"
(self class >> self failedCallSelector) literals first at: 4 put: -1.
"set it to false for some very slow tests..."
doNotMakeSlowTestsFlag := true!

Item was changed:
+ ----- Method: PrototypeTester>>prototype (in category 'accessing') -----
- ----- Method: PrototypeTester>>prototype (in category 'as yet unclassified') -----
prototype
"Get a prototype"
^ prototype copy !

Item was changed:
+ ----- Method: PrototypeTester>>prototype: (in category 'accessing') -----
- ----- Method: PrototypeTester>>prototype: (in category 'as yet unclassified') -----
prototype: aPrototype
"Set my prototype"
prototype := aPrototype copy !

Item was changed:
+ ----- Method: PrototypeTester>>result (in category 'running') -----
- ----- Method: PrototypeTester>>result (in category 'as yet unclassified') -----
result
"Perform the test the default number of times"
^ self resultFor: self class defaultRuns !

Item was changed:
+ ----- Method: RecentMessagesTest>>testIsEmpty (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testIsEmpty (in category 'testing') -----
testIsEmpty
self assert: rm isEmpty description: 'Initially, must be empty'.
rm recordSelector: #foo forClass: Utilities inEnvironment: Smalltalk globals.
self deny: rm isEmpty description: 'After submission, must not be empty'.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testMaximumSubmissionCountCanReduceNumberOfReferences (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testMaximumSubmissionCountCanReduceNumberOfReferences (in category 'testing') -----
testMaximumSubmissionCountCanReduceNumberOfReferences
rm maximumSubmissionCount: 2.
rm recordSelector: #foo forClass: Utilities inEnvironment: Smalltalk globals.
rm recordSelector: #bar forClass: Utilities inEnvironment: Smalltalk globals.
rm maximumSubmissionCount: 1.
self assert: 1 equals: rm size.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testMaximumSubmissionCountCapsReferenceCount (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testMaximumSubmissionCountCapsReferenceCount (in category 'testing') -----
testMaximumSubmissionCountCapsReferenceCount
rm maximumSubmissionCount: 2.
rm recordSelector: #foo forClass: Utilities inEnvironment: Smalltalk globals.
rm recordSelector: #bar forClass: Utilities inEnvironment: Smalltalk globals.
rm recordSelector: #baz forClass: Utilities inEnvironment: Smalltalk globals.
self assert: #bar equals: rm leastRecent selector.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testMaximumSubmissionCountDefaultsToTen (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testMaximumSubmissionCountDefaultsToTen (in category 'testing') -----
testMaximumSubmissionCountDefaultsToTen
self assert: 30 equals: rm maximumSubmissionCount.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testMaximumSubmissionCountReturnsMaximumNumberOfRecordedMethodSubmissions (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testMaximumSubmissionCountReturnsMaximumNumberOfRecordedMethodSubmissions (in category 'testing') -----
testMaximumSubmissionCountReturnsMaximumNumberOfRecordedMethodSubmissions
rm maximumSubmissionCount: 0.
self assert: 0 equals: rm maximumSubmissionCount.
rm maximumSubmissionCount: 1.
self assert: 1 equals: rm maximumSubmissionCount.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testMethodReferencesReturnsAllSubmissions (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testMethodReferencesReturnsAllSubmissions (in category 'testing') -----
testMethodReferencesReturnsAllSubmissions
| expected |
expected := {
MethodReference class: Utilities selector: #bar environment: env.
MethodReference class: Utilities selector: #foo environment: env }.
rm recordSelector: #foo forClass: Utilities inEnvironment: env.
rm recordSelector: #bar forClass: Utilities inEnvironment: env.
self assert: expected equals: rm methodReferences!

Item was changed:
+ ----- Method: RecentMessagesTest>>testMethodReferencesReturnsaCopy (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testMethodReferencesReturnsaCopy (in category 'testing') -----
testMethodReferencesReturnsaCopy
| expected original |
rm recordSelector: #foo forClass: Utilities inEnvironment: env.
original := rm methodReferences.
expected := original copy.
rm recordSelector: #bar forClass: Utilities inEnvironment: env.
self assert: expected equals: original.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testMostRecentReturnsLastAddedReference (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testMostRecentReturnsLastAddedReference (in category 'testing') -----
testMostRecentReturnsLastAddedReference
| victim |
victim := self createClass: #Victim.
victim compile: 'foo ^ 1'.
victim compile: 'bar ^ 1'.
rm recordSelector: #foo forClass: victim inEnvironment: env.
self assert: #foo equals: rm mostRecent selector.
rm recordSelector: #bar forClass: victim inEnvironment: env.
self assert: #bar equals: rm mostRecent selector.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testMostRecentReturnsRemovedReference (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testMostRecentReturnsRemovedReference (in category 'testing') -----
testMostRecentReturnsRemovedReference
| victim |
victim := self createClass: #Victim.
victim compile: 'foo ^ 1'.
victim compile: 'bar ^ 1'.
rm recordSelector: #foo forClass: victim inEnvironment: env.
rm recordSelector: #bar forClass: victim inEnvironment: env.
victim removeSelector: #bar.
self assert: #bar equals: rm mostRecent selector.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testOldestReturnsOldestSubmission (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testOldestReturnsOldestSubmission (in category 'testing') -----
testOldestReturnsOldestSubmission
self assert: nil equals: rm leastRecent description: 'Return nil if no submissions yet'.
rm recordSelector: #foo forClass: Utilities inEnvironment: Smalltalk globals.
self assert: #foo equals: rm leastRecent selector.
rm recordSelector: #baz forClass: Utilities inEnvironment: Smalltalk globals.
self assert: #foo equals: rm leastRecent selector.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testPurgeMissingMethodsKeepsComments (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testPurgeMissingMethodsKeepsComments (in category 'testing') -----
testPurgeMissingMethodsKeepsComments
rm recordSelector: #Comment forClass: Utilities inEnvironment: Smalltalk globals.
self deny: rm isEmpty.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testReferencesAreUnique (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testReferencesAreUnique (in category 'testing') -----
testReferencesAreUnique
rm recordSelector: #foo forClass: Utilities inEnvironment: Smalltalk globals.
rm recordSelector: #foo forClass: Utilities inEnvironment: Smalltalk globals.
self assert: 1 equals: rm size description: 'After duplicate'.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testRevertMostRecentRemovesLatestVersion (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testRevertMostRecentRemovesLatestVersion (in category 'testing') -----
testRevertMostRecentRemovesLatestVersion
| victim |
victim := self createClass: #Victim.
victim compile: 'foo ^ 1'.
victim compile: 'foo ^ 2'.
rm recordSelector: #foo forClass: victim inEnvironment: env.
rm revertMostRecent.
self assert: 1 equals: victim new foo description: 'Version not removed'.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testRevertMostRecentRemovesNewMethod (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testRevertMostRecentRemovesNewMethod (in category 'testing') -----
testRevertMostRecentRemovesNewMethod
| victim |
victim := self createClass: #Victim.
victim compile: 'foo ^ 1'.
rm recordSelector: #foo forClass: victim inEnvironment: env.
rm revertMostRecent.
self deny: (victim includesSelector: #foo) description: 'Method not removed'.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testSizeReturnsNumberOfRecordedMethodSubmissions (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testSizeReturnsNumberOfRecordedMethodSubmissions (in category 'testing') -----
testSizeReturnsNumberOfRecordedMethodSubmissions
self assert: 0 equals: rm size description: 'Initial state'.
rm recordSelector: #foo forClass: Utilities inEnvironment: Smalltalk globals.
self assert: 1 equals: rm size description: 'After 1 submission'.
rm recordSelector: #bar forClass: Utilities inEnvironment: Smalltalk globals.
self assert: 2 equals: rm size description: 'After 2 submissions'.!

Item was changed:
+ ----- Method: RecentMessagesTest>>testSubmissionClassControlsLogging (in category 'tests') -----
- ----- Method: RecentMessagesTest>>testSubmissionClassControlsLogging (in category 'testing') -----
testSubmissionClassControlsLogging
WantsChangeSetLogging yes.
rm recordSelector: #foo forClass: WantsChangeSetLogging inEnvironment: Smalltalk globals.
WantsChangeSetLogging no.
rm recordSelector: #bar forClass: WantsChangeSetLogging inEnvironment: Smalltalk globals.
self assert: 1 equals: rm size description: 'Class asked for logging not to happen'.!

Item was changed:
+ ----- Method: ReleaseTest>>testClassesSystemCategory (in category 'tests') -----
- ----- Method: ReleaseTest>>testClassesSystemCategory (in category 'testing') -----
testClassesSystemCategory
"Find cases where classes have nil system categories.
This test will tell you the classes.
This is inspired by the proposed fix of a bug in release of 3.10.1
see Mantis #7070"
| rejectClasses |

rejectClasses :=
nil systemNavigation allClasses reject: [ :each |
each category notNil ] .

self assert: rejectClasses isEmpty description: ('Classes with nil system categories: {1}' format: {rejectClasses asCommaString}).!

Item was changed:
+ ----- Method: ReleaseTest>>testMethodsWithUnboundGlobals (in category 'tests') -----
- ----- Method: ReleaseTest>>testMethodsWithUnboundGlobals (in category 'testing') -----
testMethodsWithUnboundGlobals
| unbound |
unbound := SystemNavigation default methodsWithUnboundGlobals.
Smalltalk cleanOutUndeclared.
self assert: unbound isEmpty description: 'Unbound: ', unbound asCommaString!

Item was changed:
+ ----- Method: ReleaseTest>>testNoObsoleteClasses (in category 'tests') -----
- ----- Method: ReleaseTest>>testNoObsoleteClasses (in category 'testing') -----
testNoObsoleteClasses

| obsoleteClasses |
obsoleteClasses := self systemNavigation obsoleteClasses.
self
assert: obsoleteClasses isEmpty
description: ('{1} {2} obsolete' format: {
obsoleteClasses asCommaStringAnd.
obsoleteClasses size = 1
ifTrue: [ 'is' ]
ifFalse: [ 'are' ] })

!

Item was changed:
+ ----- Method: ReleaseTest>>testSqueakThemeFonts (in category 'tests') -----
- ----- Method: ReleaseTest>>testSqueakThemeFonts (in category 'testing') -----
testSqueakThemeFonts
"Check whether the fonts installed in the active theme in the release are correct"

"preference selector - font family name - font size"
{ #(standardDefaultTextFont 'Bitmap DejaVu Sans' 9).
#(standardListFont 'Bitmap DejaVu Sans' 9).
#(standardFlapFont 'Bitmap DejaVu Sans' 7).
#(standardMenuFont 'Bitmap DejaVu Sans' 9).
#(windowTitleFont 'Bitmap DejaVu Sans' 9).
#(standardBalloonHelpFont 'Bitmap DejaVu Sans' 7).
#(standardCodeFont 'Bitmap DejaVu Sans' 9).
#(standardButtonFont 'Bitmap DejaVu Sans' 7) }
do: [:triple | | font |
font := Preferences perform: triple first.
self assert: triple second equals: font familyName.
self assert: triple third equals: font pointSize ]


!

Item was changed:
+ ----- Method: ReleaseTest>>testSuperSubclassReferences (in category 'tests') -----
- ----- Method: ReleaseTest>>testSuperSubclassReferences (in category 'testing') -----
testSuperSubclassReferences
"see mantis bug 7090 for more info on this"
"If the reason for this test to fail is above bug, the following might fix the system"
"(ProtoObject subclasses reject: [:each | each isMeta or: [each environment includes: each]]) do: [:each | ProtoObject removeSubclass: each]"

| strangeClasses |
strangeClasses := ProtoObject allSubclasses reject: [:each | each isMeta or: [each environment includes: each]].
self assert: strangeClasses isEmpty description: ('Not expecting to find any of {1}' format: {strangeClasses asCommaString}).!

Item was changed:
+ ----- Method: ReleaseTest>>testSwapMouseButtonsPreference (in category 'tests') -----
- ----- Method: ReleaseTest>>testSwapMouseButtonsPreference (in category 'testing') -----
testSwapMouseButtonsPreference
"Swap mouse buttons should be enabled"
self assert: Preferences swapMouseButtons!

Item was changed:
+ ----- Method: ReleaseTest>>testSystemCategoryClasses (in category 'tests') -----
- ----- Method: ReleaseTest>>testSystemCategoryClasses (in category 'testing') -----
testSystemCategoryClasses
"Find cases where system categories name absent classes.
This test will tell you the classes.
This is inspired by a bug in release of 3.10.1
see Mantis #7070"
| rejectCats rejectClasses |
rejectCats :=
SystemOrganization categories reject: [ :catName |
(SystemOrganization listAtCategoryNamed: catName)
allSatisfy: [ :className |
( Smalltalk includesKey: className ) ] ] .
"self assert: rejectCats isEmpty ."

rejectCats isEmpty ifTrue: [ ^ true ] .


rejectClasses :=
rejectCats collect: [ :each |
each ->
( (SystemOrganization listAtCategoryNamed: each)
reject: [ :eachOne |
( Smalltalk includesKey: eachOne ) ] ) ] .

self assert: rejectCats isEmpty description: ('Not expecting any of {1}' format: { rejectClasses asCommaString}).
!

Item was changed:
+ ----- Method: ReleaseTest>>testUndeclared (in category 'tests') -----
- ----- Method: ReleaseTest>>testUndeclared (in category 'testing') -----
testUndeclared

Smalltalk cleanOutUndeclared.
self
assert: Undeclared isEmpty
description: ('{1} {2} in Undeclared'
format: {
Undeclared keys asCommaStringAnd.
Undeclared keys size = 1
ifTrue: [ 'is' ]
ifFalse: [ 'are' ] })!

Item was changed:
+ ----- Method: ScannerTest>>testLiteralSymbols (in category 'tests') -----
- ----- Method: ScannerTest>>testLiteralSymbols (in category 'testing') -----
testLiteralSymbols

self assert: ('*+-/\~=<>&@%,|' allSatisfy: [:char | Scanner isLiteralSymbol: (String with: char) asSymbol])
description: 'single letter binary symbols can be printed without string quotes'.

self assert: (#('x' 'x:' 'x:y:' 'from:to:by:' 'yourself') allSatisfy: [:str | Scanner isLiteralSymbol: str asSymbol])
description: 'valid ascii selector symbols can be printed without string quotes'.

((32 to: 126) collect: [:ascii | Character value: ascii]) ,
#(':x:yourself' '::' 'x:yourself' '123' 'x0:1:2:' 'x.y.z' '1abc' 'a1b0c2' ' x' 'x ' '+x-y' '||' '--' '++' '+-' '+/-' '-/+' '<|>' '#x' '()' '[]' '{}' '')
do: [:str |
self assert: (Compiler evaluate: str asSymbol printString) = str asSymbol
description: 'in all case, a Symbol must be printed in an interpretable fashion']!

Item was changed:
+ ----- Method: SecureHashAlgorithmTest>>testEmptyInput (in category 'tests - examples') -----
- ----- Method: SecureHashAlgorithmTest>>testEmptyInput (in category 'testing - examples') -----
testEmptyInput
self assert: ((SecureHashAlgorithm new hashMessage: '') radix: 16)
= 'DA39A3EE5E6B4B0D3255BFEF95601890AFD80709'!

Item was changed:
+ ----- Method: SecureHashAlgorithmTest>>testExample1 (in category 'tests - examples') -----
- ----- Method: SecureHashAlgorithmTest>>testExample1 (in category 'testing - examples') -----
testExample1

"This is the first example from the specification document (FIPS PUB 180-1)"

hash := SecureHashAlgorithm new hashMessage: 'abc'.
self assert: (hash = 16rA9993E364706816ABA3E25717850C26C9CD0D89D).
!

Item was changed:
+ ----- Method: SecureHashAlgorithmTest>>testExample2 (in category 'tests - examples') -----
- ----- Method: SecureHashAlgorithmTest>>testExample2 (in category 'testing - examples') -----
testExample2

"This is the second example from the specification document (FIPS PUB 180-1)"

hash := SecureHashAlgorithm new hashMessage:
'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'.
self assert: (hash = 16r84983E441C3BD26EBAAE4AA1F95129E5E54670F1).!

Item was changed:
+ ----- Method: SecureHashAlgorithmTest>>testExample3 (in category 'tests - examples') -----
- ----- Method: SecureHashAlgorithmTest>>testExample3 (in category 'testing - examples') -----
testExample3

"This is the third example from the specification document (FIPS PUB 180-1).
This example may take several minutes."

hash := SecureHashAlgorithm new hashMessage: (String new: 1000000 withAll: $a).
self assert: (hash = 16r34AA973CD4C4DAA4F61EEB2BDBAD27316534016F).!

Item was changed:
+ ----- Method: SumBugs>>testSummingColors (in category 'tests') -----
- ----- Method: SumBugs>>testSummingColors (in category 'as yet unclassified') -----
testSummingColors
"self run: #testSummingColors"
| cases |
cases := {
Color black.
Color red.
Color green.
Color blue.
Color cyan.
Color magenta.
Color yellow.
Color white.
}.

cases do: [ :each |
self assert: ((Array with: each) sum = each)
].
!

Item was changed:
+ ----- Method: SumBugs>>testSummingToTen (in category 'tests') -----
- ----- Method: SumBugs>>testSummingToTen (in category 'as yet unclassified') -----
testSummingToTen
"self run: #testSummingToTen"

| cases |
cases :={
{ 1 . 2 . 3 . 4 }.
{ 2.0 . 2.0 . 2.0 . 2.0 . 2.0 }.
{ 2/5 . 5/2 . 5/2 . 3/5 . 4 }
} .

cases do: [ :each |
self assert: (each sum = 10 )
] .!

Item was changed:
+ ----- Method: SumBugs>>testSummingToWhite (in category 'tests') -----
- ----- Method: SumBugs>>testSummingToWhite (in category 'as yet unclassified') -----
testSummingToWhite
"self run: #testSummingToWhite"

| cases |
cases := {
{ Color black . Color white }.
{ Color red . Color green. Color blue }.
{ Color gray . Color gray }.
{ Color cyan. Color magenta. Color yellow }.
{ Color cyan. Color magenta. }.
{ Color magenta. Color yellow }.
{ Color cyan. Color yellow }.
{ Color cyan. Color red }.
{ Color green .Color magenta. }.
{ Color blue. Color yellow }.
} .

cases do: [ :each |
self assert: (each sum = Color white)
] .



!

Item was changed:
+ ----- Method: SumBugs>>testSummingWithBlack (in category 'tests') -----
- ----- Method: SumBugs>>testSummingWithBlack (in category 'as yet unclassified') -----
testSummingWithBlack
"self run: #testSummingWithBlack"

| cases |
cases := {
Color black.
Color red.
Color green.
Color blue.
Color cyan.
Color magenta.
Color yellow.
Color white.
}.

cases do: [ :each |
self assert: ((Array with: each with: Color black) sum = each)
] .



!

Item was changed:
+ ----- Method: SumBugs>>testSummingWithWhite (in category 'tests') -----
- ----- Method: SumBugs>>testSummingWithWhite (in category 'as yet unclassified') -----
testSummingWithWhite
"self run: #testSummingWithWhite"

| cases |
cases := {
Color black.
Color red.
Color green.
Color blue.
Color cyan.
Color magenta.
Color yellow.
Color white.
} .

cases do: [ :each |
self assert: ((Array with: Color white with: each ) sum = Color white)
] .



!

Item was changed:
+ ----- Method: SystemVersionTest>>testMajorMinorVersion (in category 'tests') -----
- ----- Method: SystemVersionTest>>testMajorMinorVersion (in category 'as yet unclassified') -----
testMajorMinorVersion
"
SystemVersionTest run: #testMajorMinorVersion
"
self assert: (SystemVersion new version: 'Squeak3.7alpha') majorMinorVersion = 'Squeak3.7'.
self assert: (SystemVersion new version: 'Squeak3.7') majorMinorVersion = 'Squeak3.7'.
self assert: (SystemVersion new version: 'Squeak3') majorMinorVersion = 'Squeak3'.
self assert: (SystemVersion new version: '') majorMinorVersion = ''.
!

Item was changed:
+ ----- Method: TestObjectsAsMethods>>testAddNumbers (in category 'tests') -----
- ----- Method: TestObjectsAsMethods>>testAddNumbers (in category 'testing') -----
testAddNumbers
self assert: (self add: 3 with: 4) = 7.
self assert: (self perform: #add:with: withArguments: #(3 4)) = 7.!

Item was changed:
+ ----- Method: TestObjectsAsMethods>>testAnswer42 (in category 'tests') -----
- ----- Method: TestObjectsAsMethods>>testAnswer42 (in category 'testing') -----
testAnswer42
self assert: self answer42 = 42!

Item was changed:
+ ----- Method: TestObjectsAsMethods>>testDNU (in category 'tests') -----
- ----- Method: TestObjectsAsMethods>>testDNU (in category 'testing') -----
testDNU
self should: [self foo] raise: MessageNotUnderstood!

Item was changed:
+ ----- Method: TestVMStatistics>>testVmStatisticsReportString (in category 'tests') -----
- ----- Method: TestVMStatistics>>testVmStatisticsReportString (in category 'testing') -----
testVmStatisticsReportString
"Results of this test vary by VM implementation. Failure usually indicates
an unchecked assumption about the array size."

self shouldnt: [Smalltalk vmStatisticsReportString]
raise: Error
description: 'probable unchecked VM statistics array size'
!

Item was changed:
+ ----- Method: TestValueWithinFix>>valueWithinNonLocalReturn (in category 'private') -----
- ----- Method: TestValueWithinFix>>valueWithinNonLocalReturn (in category 'tests') -----
valueWithinNonLocalReturn
"Do a non-local return from a valueWithin: block"
[^self] valueWithin: 20 milliSecond

Loading...