@@ -119,6 +119,93 @@ CTAVLTreeTest >> testCopy [
119119 self assert: (copiedTree includes: 99 )
120120]
121121
122+ { #category : ' tests' }
123+ CTAVLTreeTest >> testCopyEmptyTree [
124+ | copiedTree |
125+
126+ copiedTree := tree copy.
127+
128+ self assert: copiedTree isEmpty.
129+ self assert: copiedTree size equals: 0 .
130+ self assert: copiedTree height equals: 0 .
131+
132+ self deny: copiedTree == tree.
133+ ]
134+
135+ { #category : ' tests' }
136+ CTAVLTreeTest >> testCopyLargeTree [
137+ | copiedTree elements |
138+
139+ elements := (1 to: 1000 ) asArray shuffled.
140+ tree addAll: elements.
141+
142+ copiedTree := tree copy.
143+
144+ self assert: copiedTree size equals: 1000 .
145+ self assert: copiedTree height equals: tree height.
146+ self assert: copiedTree validate.
147+
148+ self assert: copiedTree asArray equals: tree asArray.
149+ ]
150+
151+ { #category : ' tests' }
152+ CTAVLTreeTest >> testCopyLeafNode [
153+ | node copiedNode |
154+ node := CTAVLNode new contents: 42 .
155+
156+ copiedNode := node copy.
157+
158+ self assert: copiedNode contents equals: 42 .
159+ self deny: node == copiedNode.
160+
161+ self assert: copiedNode height equals: 1 .
162+ self assert: copiedNode left isNilNode.
163+ self assert: copiedNode right isNilNode
164+ ]
165+
166+ { #category : ' tests' }
167+ CTAVLTreeTest >> testCopySingleNode [
168+ | copiedTree |
169+
170+ tree add: 42 .
171+ copiedTree := tree copy.
172+
173+ self assert: copiedTree size equals: 1 .
174+ self assert: copiedTree height equals: 1 .
175+ self assert: copiedTree root contents equals: 42 .
176+
177+ self deny: copiedTree root == tree root.
178+ self assert: copiedTree validate.
179+ ]
180+
181+ { #category : ' tests' }
182+ CTAVLTreeTest >> testCopyStructureAndIsolation [
183+ | copiedTree |
184+
185+ tree addAll: #(50 30 70 20 40 60 80) .
186+ copiedTree := tree copy.
187+
188+ self assert: copiedTree size equals: tree size.
189+ self assert: copiedTree height equals: tree height.
190+ self assert: copiedTree asArray equals: tree asArray.
191+ self assert: copiedTree validate.
192+
193+ self deny: copiedTree root == tree root.
194+ self deny: copiedTree root left == tree root left.
195+
196+ copiedTree add: 99 .
197+ copiedTree remove: 20 .
198+
199+ self assert: (copiedTree includes: 99 ).
200+ self deny: (tree includes: 99 ).
201+
202+ self deny: (copiedTree includes: 20 ).
203+ self assert: (tree includes: 20 ).
204+
205+ self assert: tree validate.
206+ self assert: copiedTree validate.
207+ ]
208+
122209{ #category : ' tests' }
123210CTAVLTreeTest >> testDetect [
124211
0 commit comments