Skip to content

Commit 66b30bd

Browse files
committed
+ #ToCollectionChangedEventTest
1 parent a0ba89f commit 66b30bd

File tree

1 file changed

+193
-0
lines changed

1 file changed

+193
-0
lines changed
Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
"
2+
A ToCollectionChangedEventTest is a test class for testing the behavior of ToCollectionChangedEvent
3+
"
4+
Class {
5+
#name : 'ToCollectionChangedEventTest',
6+
#superclass : 'TestCase',
7+
#instVars : [
8+
'ocol'
9+
],
10+
#category : 'Toplo-Tests-Core-Collection',
11+
#package : 'Toplo-Tests',
12+
#tag : 'Core-Collection'
13+
}
14+
15+
{ #category : 'running' }
16+
ToCollectionChangedEventTest >> setUp [
17+
18+
super setUp.
19+
ocol := ToObservableCollection new.
20+
]
21+
22+
{ #category : 'tests' }
23+
ToCollectionChangedEventTest >> testAddRequestAddEvent [
24+
25+
| validate requestCount eventCount candidates reqInterval eventInterval |
26+
validate := true.
27+
candidates := #( ).
28+
requestCount := 0.
29+
eventCount := 0.
30+
reqInterval := nil.
31+
eventInterval := nil.
32+
ocol when: ToCollectionAddRequest do: [ :request |
33+
requestCount := requestCount + 1.
34+
candidates := request candidates.
35+
reqInterval := request interval.
36+
request validated: validate ].
37+
ocol when: ToCollectionAddEvent do: [ :event |
38+
eventCount := eventCount + 1.
39+
eventInterval := event interval ].
40+
ocol add: 1.
41+
self assert: requestCount equals: 1.
42+
self assert: candidates size equals: 1.
43+
self assert: candidates first equals: 1.
44+
self assert: eventCount equals: 1.
45+
self assert: reqInterval equals: (1 to: 1).
46+
self assert: eventInterval equals: (1 to: 1).
47+
validate := false.
48+
reqInterval := nil.
49+
eventInterval := nil.
50+
ocol add: 2.
51+
self assert: requestCount equals: 2.
52+
self assert: eventCount equals: 1.
53+
self assert: reqInterval equals: (2 to: 2).
54+
self assert: eventInterval isNil.
55+
validate := true.
56+
ocol addAll: { 3. 4. 5 }.
57+
self assert: candidates equals: #( 3 4 5 ).
58+
self assert: requestCount equals: 3.
59+
self assert: eventCount equals: 2.
60+
self assert: reqInterval equals: (2 to: 4).
61+
self assert: eventInterval equals: (2 to: 4).
62+
63+
]
64+
65+
{ #category : 'tests' }
66+
ToCollectionChangedEventTest >> testFilterRequestFilterEvent [
67+
68+
| validate requestCount eventCount reqInterval eventInterval |
69+
validate := true.
70+
requestCount := 0.
71+
eventCount := 0.
72+
reqInterval := nil.
73+
eventInterval := nil.
74+
ocol when: ToCollectionFilterRequest do: [ :request |
75+
requestCount := requestCount + 1.
76+
reqInterval := request interval.
77+
request validated: validate ].
78+
ocol when: ToCollectionFilterEvent do: [ :event |
79+
eventCount := eventCount + 1.
80+
eventInterval := event interval ].
81+
ocol addAll: (1 to: 100).
82+
self assert: ocol size equals: 100.
83+
84+
ocol filterResult: (20 to: 40).
85+
self assert: requestCount equals: 1.
86+
self assert: eventCount equals: 1.
87+
self assert: reqInterval equals: (1 to: 100).
88+
self assert: eventInterval equals: (1 to: 21).
89+
self assert: ocol size equals: 21.
90+
91+
validate := false.
92+
ocol filterResult: (5 to: 10).
93+
self assert: requestCount equals: 2.
94+
self assert: eventCount equals: 1.
95+
self assert: reqInterval equals: (1 to: 21).
96+
self assert: eventInterval equals: (1 to: 21).
97+
self assert: ocol size equals: 21.
98+
99+
validate := true.
100+
ocol filterResult: (50 to: 100).
101+
self assert: requestCount equals: 3.
102+
self assert: eventCount equals: 2.
103+
self assert: reqInterval equals: (1 to: 21).
104+
self assert: eventInterval equals: (1 to: 51).
105+
self assert: ocol size equals: 51.
106+
]
107+
108+
{ #category : 'tests' }
109+
ToCollectionChangedEventTest >> testRemoveRequestRemoveEvent [
110+
111+
| validate requestCount eventCount reqInterval eventInterval |
112+
validate := true.
113+
requestCount := 0.
114+
eventCount := 0.
115+
reqInterval := nil.
116+
eventInterval := nil.
117+
ocol when: ToCollectionRemoveRequest do: [ :request |
118+
requestCount := requestCount + 1.
119+
reqInterval := request interval.
120+
request validated: validate ].
121+
ocol when: ToCollectionRemoveEvent do: [ :event |
122+
eventCount := eventCount + 1.
123+
eventInterval := event interval ].
124+
ocol addAll: { 1. 2. 3. 4 }.
125+
ocol removeFirst.
126+
self assert: requestCount equals: 1.
127+
self assert: eventCount equals: 1.
128+
self assert: reqInterval equals: (1 to: 1).
129+
self assert: eventInterval equals: (1 to: 1).
130+
validate := false.
131+
self assert: ocol size equals: 3.
132+
ocol removeFirst.
133+
self assert: ocol size equals: 3.
134+
self assert: requestCount equals: 2.
135+
self assert: eventCount equals: 1.
136+
self assert: reqInterval equals: (1 to: 1).
137+
self assert: eventInterval equals: (1 to: 1).
138+
validate := true.
139+
ocol removeAll.
140+
self assert: requestCount equals: 3.
141+
self assert: eventCount equals: 2.
142+
self assert: reqInterval equals: (1 to: 3).
143+
self assert: eventInterval equals: (1 to: 3).
144+
145+
]
146+
147+
{ #category : 'tests' }
148+
ToCollectionChangedEventTest >> testUpdateRequestUpdateEvent [
149+
150+
| validate requestCount eventCount reqInterval eventInterval |
151+
validate := true.
152+
requestCount := 0.
153+
eventCount := 0.
154+
reqInterval := nil.
155+
eventInterval := nil.
156+
ocol when: ToCollectionUpdateRequest do: [ :request |
157+
requestCount := requestCount + 1.
158+
reqInterval := request interval.
159+
request validated: validate ].
160+
ocol when: ToCollectionUpdateEvent do: [ :event |
161+
eventCount := eventCount + 1.
162+
eventInterval := event interval ].
163+
ocol addAll: (1 to: 100).
164+
self assert: ocol size equals: 100.
165+
166+
ocol at: 2 put: 20.
167+
self assert: requestCount equals: 1.
168+
self assert: eventCount equals: 1.
169+
self assert: reqInterval equals: (2 to: 2).
170+
self assert: eventInterval equals: (2 to: 2).
171+
validate := false.
172+
reqInterval := nil.
173+
eventInterval := nil.
174+
ocol at: 2 put: 30.
175+
self assert: requestCount equals: 2.
176+
self assert: eventCount equals: 1.
177+
self assert: reqInterval equals: (2 to: 2).
178+
self assert: eventInterval isNil.
179+
180+
validate := true.
181+
reqInterval := nil.
182+
eventInterval := nil.
183+
ocol replaceFrom: 10 to: 20 with: (10 to: 20).
184+
self assert: requestCount equals: 3.
185+
self assert: eventCount equals: 2.
186+
self assert: reqInterval equals: (10 to: 20).
187+
self assert: eventInterval equals: (10 to: 20).
188+
189+
190+
191+
192+
193+
]

0 commit comments

Comments
 (0)