[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
|