[squeak-dev] The Trunk: MorphicTests-mt.70.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Feb 26 14:44:27 UTC 2021


Marcel Taeumel uploaded a new version of MorphicTests to project The Trunk:
http://source.squeak.org/trunk/MorphicTests-mt.70.mcz

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

Name: MorphicTests-mt.70
Author: mt
Time: 26 February 2021, 3:44:25.553955 pm
UUID: 6872ad63-f538-cf4a-b162-e1a236b6604b
Ancestors: MorphicTests-mt.69

Complements Morphic-mt.1726 with tests.

=============== Diff against MorphicTests-mt.69 ===============

Item was added:
+ ----- Method: MorphTest>>test01LayerNumberDefault (in category 'tests - submorphs - layers') -----
+ test01LayerNumberDefault
+ 
+ 	self assert: Morph new morphicLayerNumber isNumber.!

Item was added:
+ ----- Method: MorphTest>>test02LayerNumberCustom (in category 'tests - submorphs - layers') -----
+ test02LayerNumberCustom
+ 
+ 	| m |
+ 	m := Morph new.
+ 	self deny: 50 equals: m morphicLayerNumber.
+ 	m morphicLayerNumber: 50.
+ 	self assert: 50 equals: m morphicLayerNumber.!

Item was added:
+ ----- Method: MorphTest>>test03LayerNumberFromOwner (in category 'tests - submorphs - layers') -----
+ test03LayerNumberFromOwner
+ 	"If not specified, inherit the owner's layer number."
+ 
+ 	| m1 m2 |
+ 	m1 := Morph new.
+ 	m2 := Morph new.
+ 	m1 addMorph: m2.
+ 	
+ 	m1 morphicLayerNumber: 50.
+ 	self assert: 50 equals: m2 morphicLayerNumber.
+ 	
+ 	m2 morphicLayerNumber: 25.
+ 	self assert: 25 equals: m2 morphicLayerNumber.
+ !

Item was added:
+ ----- Method: MorphTest>>test04AddMorphInLayer (in category 'tests - submorphs - layers') -----
+ test04AddMorphInLayer
+ 
+ 	| container builder unordered ordered |
+ 	container := Morph new.
+ 	builder := [Morph new].
+ 	
+ 	unordered := #(6.5 100 20 15 5.0 6 7 100 20 -10).
+ 	unordered := unordered collect: [:layerNumber |
+ 		{layerNumber . builder value morphicLayerNumber: layerNumber}].
+ 	unordered do: [:spec |
+ 		container addMorphBackInLayer: spec second].
+ 	
+ 	ordered := unordered. "No need to reverse the list because add-to-back directly maps to the resulting submorph order."
+ 	ordered := ordered sorted: [:a :b | a first <= b first]. "Must be stable."
+ 	ordered := ordered collect: [:spec | spec second]. "Just the morphs."
+ 	
+ 	self assert: (ordered hasEqualElements: container submorphs).!

Item was added:
+ ----- Method: MorphTest>>test05AddMorphFrontInLayer (in category 'tests - submorphs - layers') -----
+ test05AddMorphFrontInLayer
+ 
+ 	| container builder unordered ordered |
+ 	container := Morph new.
+ 	builder := [Morph new].
+ 	
+ 	unordered := #(6.5 100 20 15 5.0 6 7 100 20 -10).
+ 	unordered := unordered collect: [:layerNumber |
+ 		{layerNumber . builder value morphicLayerNumber: layerNumber}].
+ 	unordered do: [:spec |
+ 		container addMorphFrontInLayer: spec second].
+ 	
+ 	ordered := unordered reversed. "Submorph order will be reversed due to add-to-front."
+ 	ordered := ordered sorted: [:a :b | a first <= b first]. "Must be stable."
+ 	ordered := ordered collect: [:spec | spec second]. "Just the morphs."
+ 	
+ 	self assert: (ordered hasEqualElements: container submorphs).!

Item was added:
+ ----- Method: MorphTest>>test06AddMorphBackInLayer (in category 'tests - submorphs - layers') -----
+ test06AddMorphBackInLayer
+ 
+ 	| container builder unordered ordered |
+ 	container := Morph new.
+ 	builder := [Morph new].
+ 	
+ 	unordered := #(6.5 100 20 15 5.0 6 7 100 20 -10).
+ 	unordered := unordered collect: [:layerNumber |
+ 		{layerNumber . builder value morphicLayerNumber: layerNumber}].
+ 	unordered do: [:spec |
+ 		container addMorphBackInLayer: spec second].
+ 	
+ 	ordered := unordered. "No need to reverse the list because add-to-back directly maps to the resulting submorph order."
+ 	ordered := ordered sorted: [:a :b | a first <= b first]. "Must be stable."
+ 	ordered := ordered collect: [:spec | spec second]. "Just the morphs."
+ 	
+ 	self assert: (ordered hasEqualElements: container submorphs).!

Item was added:
+ ----- Method: MorphTest>>test07ChangeLayerNumber (in category 'tests - submorphs - layers') -----
+ test07ChangeLayerNumber
+ 
+ 	| container m1 m2 |
+ 	container := Morph new.
+ 	m1 := Morph new.
+ 	m2 := Morph new.
+ 	
+ 	m1 morphicLayerNumber: 20. "behind m2"
+ 	m2 morphicLayerNumber: 10. "in front of m1"
+ 	
+ 	container addMorphInLayer: m1.
+ 	container addMorphInLayer: m2.
+ 	self assert: ({m2 . m1} hasEqualElements: container submorphs).
+ 	
+ 	m1 morphicLayerNumber: 5. "go in front of m2"
+ 	container addMorphInLayer: m1.
+ 	self assert: ({m1 . m2} hasEqualElements: container submorphs).
+ 
+ 	m1 morphicLayerNumber: 50. "go behind m2 again"
+ 	container addMorphInLayer: m1.
+ 	self assert: ({m2 . m1} hasEqualElements: container submorphs).
+ !

Item was added:
+ ----- Method: MorphTest>>test08ChangeLayerNumberAuto (in category 'tests - submorphs - layers') -----
+ test08ChangeLayerNumberAuto
+ 
+ 	| container m1 m2 |
+ 	container := Morph new.
+ 	m1 := Morph new.
+ 	m2 := Morph new.
+ 	
+ 	m1 morphicLayerNumber: 20. "behind m2"
+ 	m2 morphicLayerNumber: 10. "in front of m1"
+ 	
+ 	container addMorphInLayer: m1.
+ 	container addMorphInLayer: m2.
+ 	self assert: ({m2 . m1} hasEqualElements: container submorphs).
+ 	
+ 	m1 morphicLayerNumber: 5. "go in front of m2"
+ 	self assert: ({m1 . m2} hasEqualElements: container submorphs).
+ 
+ 	m1 morphicLayerNumber: 50. "go behind m2 again"
+ 	self assert: ({m2 . m1} hasEqualElements: container submorphs).!

Item was added:
+ ----- Method: MorphTest>>test09IgnoreLayer (in category 'tests - submorphs - layers') -----
+ test09IgnoreLayer
+ 
+ 	| container m1 m2 |
+ 	container := Morph new.
+ 	m1 := Morph new.
+ 	m2 := Morph new.
+ 	
+ 	m1 morphicLayerNumber: 1. 
+ 	m2 morphicLayerNumber: 999.
+ 	
+ 	container addMorphFrontInLayer: m1.
+ 	container addMorphFront: m2. "Ignore the layer of m1."
+ 	self assert: ({m2 . m1} hasEqualElements: container submorphs).
+ 	
+ 	container addMorphFrontInLayer: m1.
+ 	self assert: ({m1 . m2} hasEqualElements: container submorphs).!

Item was added:
+ ----- Method: MorphTest>>test10TransformKeepsLayer (in category 'tests - submorphs - layers') -----
+ test10TransformKeepsLayer
+ 
+ 	| morph transform |
+ 	morph := Morph new.
+ 	transform := morph addFlexShell.
+ 	
+ 	morph morphicLayerNumber: 50. 
+ 	self assert: 50 equals: transform morphicLayerNumber.
+ 
+ 	transform morphicLayerNumber: 20.
+ 	self assert: 20 equals: transform morphicLayerNumber.	
+ 		
+ 	transform removeMorph: morph.
+ 	transform morphicLayerNumber: 50.
+ 	self
+ 		assert: 20 equals: morph morphicLayerNumber;
+ 		assert: 50 equals: transform morphicLayerNumber.!

Item was added:
+ ----- Method: MorphTest>>test11NamedLayers (in category 'tests - submorphs - layers') -----
+ test11NamedLayers
+ 
+ 	#(
+ 	frontmostLayer
+ 	
+ 	balloonLayer
+ 	haloLayer
+ 	menuLayer
+ 	
+ 	progressLayer
+ 	
+ 	dialogLayer
+ 	navigatorLayer
+ 	windowLayer
+ 	
+ 	defaultLayer
+ 	
+ 	backmostLayer
+ 	
+ 	) overlappingPairsDo: [:a :b |
+ 		self assert: (Morph perform: a) <= (Morph perform: b)]!

Item was added:
+ ----- Method: MorphTest>>test12ResetLayerToDefault (in category 'tests - submorphs - layers') -----
+ test12ResetLayerToDefault
+ 
+ 	| morph default |
+ 	morph := Morph new.
+ 	default := morph morphicLayerNumber.
+ 	
+ 	morph morphicLayerNumber: default * 2.
+ 	self deny: default equals: morph morphicLayerNumber.
+ 	
+ 	morph morphicLayerNumber: nil.
+ 	self assert: default equals: morph morphicLayerNumber.!

Item was changed:
+ ----- Method: MorphTest>>testAddAllMorphs (in category 'tests - submorphs - add/remove') -----
- ----- Method: MorphTest>>testAddAllMorphs (in category 'testing - add/remove submorphs') -----
  testAddAllMorphs
  
  	self createAndAddMorphs: #(a b).
  	self assert: #(a b) equals: self getSubmorphNames.
  
  	morph addAllMorphs: (self createMorphs: #(x y)).
  	self assert: #(a b x y) equals: self getSubmorphNames.
  	
  	morph removeAllMorphs.
  	morph addAllMorphs: (self createMorphs: #(x y)).
  	self assert: #(x y) equals: self getSubmorphNames.!

Item was changed:
+ ----- Method: MorphTest>>testAddAllMorphsAfter (in category 'tests - submorphs - add/remove') -----
- ----- Method: MorphTest>>testAddAllMorphsAfter (in category 'testing - add/remove submorphs') -----
  testAddAllMorphsAfter
  
  	self createAndAddMorphs: #(a b).
  	self assert: #(a b) equals: self getSubmorphNames.
  
  	morph
  		addAllMorphs: (self createMorphs: #(x y))
  		after: (self getSubmorph: #a).
  	self assert: #(a x y b) equals: self getSubmorphNames.
  	
  	morph
  		addAllMorphs: (self getSubmorphs: #(x y))
  		after: (self getSubmorph: #b).
  	self assert: #(a b x y) equals: self getSubmorphNames.
  
  	morph
  		addAllMorphs: (self getSubmorphs: #(a x))
  		after: (self getSubmorph: #y).
  	self assert: #(b y a x) equals: self getSubmorphNames.
  
  	morph
  		addAllMorphs: (self getSubmorphs: #(x y))
  		after: (self getSubmorph: #a).
  	self assert: #(b a x y) equals: self getSubmorphNames.!

Item was changed:
+ ----- Method: MorphTest>>testAddAllMorphsInFrontOf (in category 'tests - submorphs - add/remove') -----
- ----- Method: MorphTest>>testAddAllMorphsInFrontOf (in category 'testing - add/remove submorphs') -----
  testAddAllMorphsInFrontOf
  
  	self createAndAddMorphs: #(a b).
  	self assert: #(a b) equals: self getSubmorphNames.
  
  	morph
  		addAllMorphs: (self createMorphs: #(x y))
  		inFrontOf: (self getSubmorph: #b).
  	self assert: #(a x y b) equals: self getSubmorphNames.
  	
  	morph
  		addAllMorphs: (self getSubmorphs: #(x y))
  		inFrontOf: (self getSubmorph: #a).
  	self assert: #(x y a b) equals: self getSubmorphNames.
  
  	morph
  		addAllMorphs: (self getSubmorphs: #(y b))
  		inFrontOf: (self getSubmorph: #x).
  	self assert: #(y b x a) equals: self getSubmorphNames.
  
  	morph
  		addAllMorphs: (self getSubmorphs: #(x y))
  		inFrontOf: (self getSubmorph: #b).
  	self assert: #(x y b a) equals: self getSubmorphNames.!

Item was changed:
+ ----- Method: MorphTest>>testIntoWorldCollapseOutOfWorld (in category 'tests - into/outOf World') -----
- ----- Method: MorphTest>>testIntoWorldCollapseOutOfWorld (in category 'testing - into/outOf World') -----
  testIntoWorldCollapseOutOfWorld
  	| m1 m2 collapsed |
  	"Create the guys"
  	m1 := TestInWorldMorph new.
  	m2 := TestInWorldMorph new.
  	self assert: (m1 intoWorldCount = 0).
  	self assert: (m1 outOfWorldCount = 0).
  	self assert: (m2 intoWorldCount = 0).
  	self assert: (m2 outOfWorldCount = 0).
  
  	"add them to basic morph"
  	morph addMorphFront: m1.
  	m1 addMorphFront: m2.
  	self assert: (m1 intoWorldCount = 0).
  	self assert: (m1 outOfWorldCount = 0).
  	self assert: (m2 intoWorldCount = 0).
  	self assert: (m2 outOfWorldCount = 0).
  
  	"open the guy"
  	morph openInWorld.
  	self assert: (m1 intoWorldCount = 1).
  	self assert: (m1 outOfWorldCount = 0).
  	self assert: (m2 intoWorldCount = 1).
  	self assert: (m2 outOfWorldCount = 0).
  
  	"collapse it"
  	collapsed := 	CollapsedMorph new beReplacementFor: morph.
  	self assert: (m1 intoWorldCount = 1).
  	self assert: (m1 outOfWorldCount = 1).
  	self assert: (m2 intoWorldCount = 1).
  	self assert: (m2 outOfWorldCount = 1).
  
  	"expand it"
  	collapsed collapseOrExpand.
  	self assert: (m1 intoWorldCount = 2).
  	self assert: (m1 outOfWorldCount = 1).
  	self assert: (m2 intoWorldCount = 2).
  	self assert: (m2 outOfWorldCount = 1).
  
  	"delete it"
  	morph delete.
  	self assert: (m1 intoWorldCount = 2).
  	self assert: (m1 outOfWorldCount = 2).
  	self assert: (m2 intoWorldCount = 2).
  	self assert: (m2 outOfWorldCount = 2).
  !

Item was changed:
+ ----- Method: MorphTest>>testIntoWorldDeleteOutOfWorld (in category 'tests - into/outOf World') -----
- ----- Method: MorphTest>>testIntoWorldDeleteOutOfWorld (in category 'testing - into/outOf World') -----
  testIntoWorldDeleteOutOfWorld
  	| m1 m2 |
  	"Create the guys"
  	m1 := TestInWorldMorph new.
  	m2 := TestInWorldMorph new.
  	self assert: (m1 intoWorldCount = 0).
  	self assert: (m1 outOfWorldCount = 0).
  	self assert: (m2 intoWorldCount = 0).
  	self assert: (m2 outOfWorldCount = 0).
  
  	morph addMorphFront: m1.
  	m1 addMorphFront:  m2.
  	self assert: (m1 intoWorldCount = 0).
  	self assert: (m1 outOfWorldCount = 0).
  	self assert: (m2 intoWorldCount = 0).
  	self assert: (m2 outOfWorldCount = 0).
  
  	morph openInWorld.
  	self assert: (m1 intoWorldCount = 1).
  	self assert: (m1 outOfWorldCount = 0).
  	self assert: (m2 intoWorldCount = 1).
  	self assert: (m2 outOfWorldCount = 0).
  
  	morph delete.
  	self assert: (m1 intoWorldCount = 1).
  	self assert: (m1 outOfWorldCount = 1).
  	self assert: (m2 intoWorldCount = 1).
  	self assert: (m2 outOfWorldCount = 1).
  	!

Item was changed:
+ ----- Method: MorphTest>>testIntoWorldTransferToNewGuy (in category 'tests - into/outOf World') -----
- ----- Method: MorphTest>>testIntoWorldTransferToNewGuy (in category 'testing - into/outOf World') -----
  testIntoWorldTransferToNewGuy
  	| m1 m2 |
  	"Create the guys"
  	m1 := TestInWorldMorph new.
  	m2 := TestInWorldMorph new.
  	self assert: (m1 intoWorldCount = 0).
  	self assert: (m1 outOfWorldCount = 0).
  	self assert: (m2 intoWorldCount = 0).
  	self assert: (m2 outOfWorldCount = 0).
  
  	morph addMorphFront: m1.
  	m1 addMorphFront:  m2.
  	self assert: (m1 intoWorldCount = 0).
  	self assert: (m1 outOfWorldCount = 0).
  	self assert: (m2 intoWorldCount = 0).
  	self assert: (m2 outOfWorldCount = 0).
  
  	morph openInWorld.
  	self assert: (m1 intoWorldCount = 1).
  	self assert: (m1 outOfWorldCount = 0).
  	self assert: (m2 intoWorldCount = 1).
  	self assert: (m2 outOfWorldCount = 0).
  
  	morph addMorphFront: m2.
  	self assert: (m1 intoWorldCount = 1).
  	self assert: (m1 outOfWorldCount = 0).
  	self assert: (m2 intoWorldCount = 1).
  	self assert: (m2 outOfWorldCount = 0).
  
  	morph addMorphFront: m1.
  	self assert: (m1 intoWorldCount = 1).
  	self assert: (m1 outOfWorldCount = 0).
  	self assert: (m2 intoWorldCount = 1).
  	self assert: (m2 outOfWorldCount = 0).
  
  	m2 addMorphFront: m1.
  	self assert: (m1 intoWorldCount = 1).
  	self assert: (m1 outOfWorldCount = 0).
  	self assert: (m2 intoWorldCount = 1).
  	self assert: (m2 outOfWorldCount = 0).
  
  	morph delete.
  	self assert: (m1 intoWorldCount = 1).
  	self assert: (m1 outOfWorldCount = 1).
  	self assert: (m2 intoWorldCount = 1).
  	self assert: (m2 outOfWorldCount = 1).
  !

Item was changed:
+ ----- Method: MorphTest>>testIsMorph (in category 'tests - classification') -----
- ----- Method: MorphTest>>testIsMorph (in category 'testing - classification') -----
  testIsMorph
  	self assert: (morph isMorph).!

Item was changed:
+ ----- Method: MorphTest>>testOpenInWorld (in category 'tests - initialization') -----
- ----- Method: MorphTest>>testOpenInWorld (in category 'testing - initialization') -----
  testOpenInWorld
  	"This should not throw an exception."
  	morph openInWorld.!



More information about the Squeak-dev mailing list