-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathPyramidUndoRemoveChildCommandTest.class.st
More file actions
87 lines (69 loc) · 2.29 KB
/
PyramidUndoRemoveChildCommandTest.class.st
File metadata and controls
87 lines (69 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
Class {
#name : #PyramidUndoRemoveChildCommandTest,
#superclass : #TestCase,
#category : #'Pyramid-Tests-cases-plugin-bloc'
}
{ #category : #tests }
PyramidUndoRemoveChildCommandTest >> testUndoRemoveAllChildrenRestoresIndex [
| history commandExecutor parent child1 child2 child3 child4|
parent := BlElement new.
child1 := BlElement new.
child2 := BlElement new.
child3 := BlElement new.
child4 := BlElement new.
parent addChildren: {child1. child2 .child3. child4}.
history := PyramidHistory new.
commandExecutor := PyramidHistoryCommandExecutor new
history: history;
wrappee: PyramidMainCommandExecutor new;
yourself.
commandExecutor
use: PyramidRemoveSelectedElementsCommand new
on: {
child4.
child2.
child1 }
with: { parent }.
self deny: (parent children includes: child2).
self deny: (parent children includes: child1).
self deny: (parent children includes: child4).
"Undo"
history undo.
self assert: (parent children includes: child1).
self assert: (parent children includes: child2).
self assert: (parent children indexOf: child1) equals: 1.
self assert: (parent children indexOf: child2) equals: 2.
self assert: (parent children indexOf: child4) equals: 4
]
{ #category : #tests }
PyramidUndoRemoveChildCommandTest >> testUndoRemoveChildRestoresIndex [
| history commandExecutor parent child1 child2 child3 |
parent := BlElement new.
child1 := BlElement new.
child2 := BlElement new.
child3 := BlElement new.
parent addChild: child1.
parent addChild: child2.
parent addChild: child3.
history := PyramidHistory new.
commandExecutor := PyramidHistoryCommandExecutor new
history: history;
wrappee: PyramidMainCommandExecutor new;
yourself.
commandExecutor
use: PyramidRemoveSelectedElementsCommand new
on: { child2 }
with: { parent }.
self deny: (parent children includes: child2).
"Undo"
history undo.
self assert: (parent children includes: child2).
self assert: (parent children indexOf: child2) equals: 2.
"Redo"
history redo.
self deny: (parent children includes: child2).
"Undo"
history undo.
self assert: (parent children includes: child2).
self assert: (parent children indexOf: child2) equals: 2
]